Lines Matching refs:pEthHdr

2813                                                      PRTNETETHERHDR pEthHdr, uint32_t cb)
2815 if (RT_UNLIKELY(cb < sizeof(*pEthHdr)))
2819 PRTNETIPV6 pIPv6 = (PRTNETIPV6)(pEthHdr + 1);
2820 cb -= sizeof(*pEthHdr);
2956 PRTNETETHERHDR pEthHdr = (PRTNETETHERHDR)pSG->aSegs[0].pv;
2958 pEthHdr->SrcMac = pThis->MacAddr;
2972 PRTNETARPIPV4 pArp = (PRTNETARPIPV4)(pEthHdr + 1);
2984 else if (pEthHdr->EtherType == RT_H2N_U16_C(RTNET_ETHERTYPE_IPV6))
2986 intnetR0TrunkSharedMacEditIPv6FromIntNet(pThis, pIfSender, pEthHdr, pSG->cbTotal);
3018 * @returns true broadcast (pEthHdr & pSG are modified), false if not.
3023 * @param pEthHdr Pointer to the ethernet header. The ethernet
3026 static bool intnetR0NetworkSharedMacDetectAndFixBroadcast(PINTNETNETWORK pNetwork, PINTNETSG pSG, PRTNETETHERHDR pEthHdr)
3030 switch (pEthHdr->EtherType)
3042 pEthHdr->DstMac.au16[0] = 0xffff;
3043 pEthHdr->DstMac.au16[1] = 0xffff;
3044 pEthHdr->DstMac.au16[2] = 0xffff;
3061 pEthHdr->DstMac.au16[0] = 0xffff;
3062 pEthHdr->DstMac.au16[1] = 0xffff;
3063 pEthHdr->DstMac.au16[2] = 0xffff;
3068 pEthHdr->DstMac.au8[0] = 0x01;
3069 pEthHdr->DstMac.au8[1] = 0x00;
3070 pEthHdr->DstMac.au8[2] = 0x5e;
3072 pEthHdr->DstMac.au8[3] = ip_dst.au8[1] & 0x7f;
3073 pEthHdr->DstMac.au8[4] = ip_dst.au8[2];
3074 pEthHdr->DstMac.au8[5] = ip_dst.au8[3];
3090 pEthHdr->DstMac.au16[0] = 0x3333;
3091 pEthHdr->DstMac.au16[1] = ip6_dst.au16[6];
3092 pEthHdr->DstMac.au16[2] = ip6_dst.au16[7];
3107 intnetR0SgWritePart(pSG, RT_OFFSETOF(RTNETETHERHDR, DstMac), sizeof(pEthHdr->DstMac), &pEthHdr->DstMac);
3118 * @param pEthHdr Pointer to the ethernet header.
3120 static void intnetR0NetworkSnoopNAFromWire(PINTNETNETWORK pNetwork, PINTNETSG pSG, PRTNETETHERHDR pEthHdr)
3122 NOREF(pEthHdr);
3170 * @param pEthHdr Pointer to the ethernet header. This may also be
3173 static void intnetR0NetworkEditArpFromWire(PINTNETNETWORK pNetwork, PINTNETSG pSG, PRTNETETHERHDR pEthHdr)
3231 if (!memcmp(&pEthHdr->DstMac, &MacAddrTrunk, sizeof(RTMAC)))
3233 Log6(("fw: DstMac %.6Rhxs -> %.6Rhxs\n", &pEthHdr->DstMac, &pIf->MacAddr));
3234 pEthHdr->DstMac = pIf->MacAddr;
3235 if ((void *)pEthHdr != pSG->aSegs[0].pv)
3254 * @param pEthHdr Pointer to the ethernet header. This may also be
3257 static void intnetR0NetworkEditDhcpFromIntNet(PINTNETNETWORK pNetwork, PINTNETSG pSG, PRTNETETHERHDR pEthHdr)
3259 NOREF(pEthHdr);
3458 * @param pEthHdr Pointer to the ethernet header.
3463 PINTNETSG pSG, PRTNETETHERHDR pEthHdr,
3483 && RT_BE2H_U16(pEthHdr->EtherType) == RTNET_ETHERTYPE_IPV6
3485 intnetR0NetworkSnoopNAFromWire(pNetwork, pSG, pEthHdr);
3493 && RT_BE2H_U16(pEthHdr->EtherType) == RTNET_ETHERTYPE_ARP
3495 intnetR0NetworkEditArpFromWire(pNetwork, pSG, pEthHdr);
3503 && RT_BE2H_U16(pEthHdr->EtherType) == RTNET_ETHERTYPE_IPV4
3505 intnetR0NetworkEditDhcpFromIntNet(pNetwork, pSG, pEthHdr);
3513 uint16_t EtherType = RT_BE2H_U16(pEthHdr->EtherType);
3541 * @param pEthHdr Pointer to the ethernet header.
3545 PRTNETETHERHDR pEthHdr, PINTNETDSTTAB pDstTab)
3553 switch (RT_BE2H_U16(pEthHdr->EtherType))
3596 return intnetR0NetworkSharedMacFixAndSwitchBroadcast(pNetwork, INTNETTRUNKDIR_WIRE, NULL, pSG, pEthHdr, pDstTab);
3603 Log6(("intnetshareduni: unknown ethertype=%#x\n", RT_BE2H_U16(pEthHdr->EtherType)));
3611 INTNETSWDECISION enmSwDecision = intnetR0NetworkSwitchLevel3(pNetwork, &pEthHdr->DstMac,
3622 intnetR0TrunkIfSnoopAddr(pNetwork, pSG, RT_BE2H_U16(pEthHdr->EtherType));
5186 PCRTNETETHERHDR pEthHdr = (PCRTNETETHERHDR)pvSrc;
5187 if (intnetR0IsMacAddrMulticast(&pEthHdr->DstMac))
5195 cbSrc >= 12 ? &pEthHdr->SrcMac : NULL,
5196 &pEthHdr->DstMac);