Searched refs:pIpHdr (Results 1 - 10 of 10) sorted by relevance

/vbox/src/VBox/Runtime/common/checksum/
H A Dipv6.cpp76 * @param pIpHdr The IPv6 header (network endian (big)).
78 RTDECL(uint32_t) RTNetIPv6PseudoChecksum(PCRTNETIPV6 pIpHdr) argument
80 return rtNetIPv6PseudoChecksumBits(&pIpHdr->ip6_src, &pIpHdr->ip6_dst,
81 pIpHdr->ip6_nxt, RT_N2H_U16(pIpHdr->ip6_plen));
90 * @param pIpHdr The IPv6 header (network endian (big)).
99 RTDECL(uint32_t) RTNetIPv6PseudoChecksumEx(PCRTNETIPV6 pIpHdr, uint8_t bProtocol, uint16_t cbPkt) argument
101 return rtNetIPv6PseudoChecksumBits(&pIpHdr->ip6_src, &pIpHdr
[all...]
H A Dipv4.cpp42 * @param pIpHdr Pointer to the IPv4 header to checksum, network endian (big).
45 RTDECL(uint16_t) RTNetIPv4HdrChecksum(PCRTNETIPV4 pIpHdr) argument
47 uint16_t const *paw = (uint16_t const *)pIpHdr;
59 if (pIpHdr->ip_hl > 20 / 4)
62 switch (pIpHdr->ip_hl)
92 * @param pIpHdr Pointer to the IPv4 header to validate. Network endian (big).
93 * @param cbHdrMax The max header size, or the max size of what pIpHdr points
96 * to be mapped following pIpHdr.
99 RTDECL(bool) RTNetIPv4IsHdrValid(PCRTNETIPV4 pIpHdr, size_t cbHdrMax, size_t cbPktMax, bool fChecksum) argument
107 if (RT_UNLIKELY(pIpHdr
139 rtNetIPv4PseudoChecksum(PCRTNETIPV4 pIpHdr) argument
162 RTNetIPv4PseudoChecksum(PCRTNETIPV4 pIpHdr) argument
420 RTNetIPv4UDPChecksum(PCRTNETIPV4 pIpHdr, PCRTNETUDP pUdpHdr, void const *pvData) argument
441 rtNetIPv4IsUDPSizeValid(PCRTNETIPV4 pIpHdr, PCRTNETUDP pUdpHdr, size_t cbPktMax) argument
467 RTNetIPv4IsUDPSizeValid(PCRTNETIPV4 pIpHdr, PCRTNETUDP pUdpHdr, size_t cbPktMax) argument
486 RTNetIPv4IsUDPValid(PCRTNETIPV4 pIpHdr, PCRTNETUDP pUdpHdr, void const *pvData, size_t cbPktMax, bool fChecksum) argument
513 RTNetIPv4TCPChecksum(PCRTNETIPV4 pIpHdr, PCRTNETTCP pTcpHdr, void const *pvData) argument
562 rtNetIPv4IsTCPSizeValid(PCRTNETIPV4 pIpHdr, PCRTNETTCP pTcpHdr, size_t cbHdrMax, size_t cbPktMax) argument
594 RTNetIPv4IsTCPSizeValid(PCRTNETIPV4 pIpHdr, PCRTNETTCP pTcpHdr, size_t cbHdrMax, size_t cbPktMax) argument
616 RTNetIPv4IsTCPValid(PCRTNETIPV4 pIpHdr, PCRTNETTCP pTcpHdr, size_t cbHdrMax, void const *pvData, size_t cbPktMax, bool fChecksum) argument
[all...]
/vbox/src/VBox/Devices/Network/testcase/
H A DtstIntNet-1.cpp112 PCRTNETIPV4 pIpHdr = (PCRTNETIPV4)pbCur; local
113 if (!RTNetIPv4IsHdrValid(pIpHdr, cbLeft, cbLeft, !fGso /*fChecksum*/))
115 pbCur += pIpHdr->ip_hl * 4;
116 cbLeft -= pIpHdr->ip_hl * 4;
119 switch (pIpHdr->ip_p)
131 if (!RTNetIPv4IsUDPValid(pIpHdr, pUdpHdr, pUdpHdr + 1, cbLeft, !fGso /*fChecksum*/))
150 if (!RTNetIPv4IsTCPValid(pIpHdr, pTcpHdr, cbLeft, NULL, cbLeft, !fGso /*fChecksum*/))
243 PRTNETIPV4 pIpHdr = (PRTNETIPV4) (pEthHdr + 1); local
244 PRTNETUDP pUdpHdr = (PRTNETUDP) (pIpHdr + 1);
303 pIpHdr
368 PRTNETIPV4 pIpHdr = (PRTNETIPV4) (pEthHdr + 1); local
486 PCRTNETIPV4 pIpHdr = (PCRTNETIPV4)(pEthHdr + 1); local
[all...]
/vbox/src/VBox/NetworkServices/NetLib/
H A DVBoxNetUDP.cpp130 PCRTNETIPV4 pIpHdr = (PCRTNETIPV4)(pEthHdr + 1); local
132 pHdrs->pIpv4 = pIpHdr;
135 if (pIpHdr->ip_p != RTNETIPV4_PROT_UDP)
139 size_t const offIpHdr = (uintptr_t)pIpHdr - (uintptr_t)pEthHdr;
140 if (!RTNetIPv4IsHdrValid(pIpHdr, cbFrame - offIpHdr, cbFrame - offIpHdr, !pGso /*fChecksum*/))
146 PCRTNETUDP pUdpHdr = (PCRTNETUDP)((uint32_t *)pIpHdr + pIpHdr->ip_hl);
160 if (!RTNetIPv4IsUDPValid(pIpHdr, pUdpHdr, pUdpHdr + 1, cbFrame - offUdpHdr, true /*fChecksum*/))
168 if (!RTNetIPv4IsUDPSizeValid(pIpHdr, pUdpHdr, cbFrame - offUdpHdr))
/vbox/include/iprt/
H A Dnet.h352 RTDECL(uint16_t) RTNetIPv4HdrChecksum(PCRTNETIPV4 pIpHdr); variable
353 RTDECL(bool) RTNetIPv4IsHdrValid(PCRTNETIPV4 pIpHdr, size_t cbHdrMax, size_t cbPktMax, bool fChecksum);
354 RTDECL(uint32_t) RTNetIPv4PseudoChecksum(PCRTNETIPV4 pIpHdr); variable
393 RTDECL(uint32_t) RTNetIPv6PseudoChecksum(PCRTNETIPV6 pIpHdr); variable
394 RTDECL(uint32_t) RTNetIPv6PseudoChecksumEx(PCRTNETIPV6 pIpHdr, uint8_t bProtocol, uint16_t cbPkt);
426 RTDECL(uint16_t) RTNetIPv4UDPChecksum(PCRTNETIPV4 pIpHdr, PCRTNETUDP pUdpHdr, void const *pvData);
427 RTDECL(bool) RTNetIPv4IsUDPSizeValid(PCRTNETIPV4 pIpHdr, PCRTNETUDP pUdpHdr, size_t cbPktMax);
428 RTDECL(bool) RTNetIPv4IsUDPValid(PCRTNETIPV4 pIpHdr, PCRTNETUDP pUdpHdr, void const *pvData, size_t cbPktMax, bool fChecksum);
700 RTDECL(uint16_t) RTNetIPv4TCPChecksum(PCRTNETIPV4 pIpHdr, PCRTNETTCP pTcpHdr, void const *pvData);
701 RTDECL(bool) RTNetIPv4IsTCPSizeValid(PCRTNETIPV4 pIpHdr, PCRTNETTC
[all...]
/vbox/include/VBox/vmm/
H A Dpdmnetinline.h326 PRTNETIPV6 pIpHdr = (PRTNETIPV6)&pbSegHdrs[offIpHdr]; local
328 pIpHdr->ip6_plen = RT_H2N_U16(cbPayload);
329 return RTNetIPv6PseudoChecksumEx(pIpHdr, bProtocol, (uint16_t)(cbHdrs - offPktHdr + cbSegPayload));
347 PRTNETIPV4 pIpHdr = (PRTNETIPV4)&pbSegHdrs[offIpHdr]; local
348 pIpHdr->ip_len = RT_H2N_U16(cbHdrs - offIpHdr + cbSegPayload);
349 pIpHdr->ip_id = RT_H2N_U16(RT_N2H_U16(pIpHdr->ip_id) + iSeg);
350 pIpHdr->ip_sum = RTNetIPv4HdrChecksum(pIpHdr);
351 return RTNetIPv4PseudoChecksum(pIpHdr);
370 PRTNETIPV4 pIpHdr = (PRTNETIPV4)&pbSegHdrs[offIpHdr]; local
[all...]
/vbox/src/VBox/Devices/Network/
H A DSrvIntNetR0.cpp2062 * @param pIpHdr Pointer to a valid IP header. This is for pseudo
2069 static void intnetR0NetworkSnoopDhcp(PINTNETNETWORK pNetwork, PCRTNETIPV4 pIpHdr, PCRTNETUDP pUdpHdr, uint32_t cbUdpPkt)
2074 if (!RTNetIPv4IsUDPValid(pIpHdr, pUdpHdr, pUdpHdr + 1, cbUdpPkt, true /*fCheckSum*/))
2205 PCRTNETIPV4 pIpHdr = (PCRTNETIPV4)((PCRTNETETHERHDR)pSG->aSegs[0].pv + 1);
2214 pIpHdr = (PCRTNETIPV4)pNetwork->pbTmp;
2220 if (!RTNetIPv4IsHdrValid(pIpHdr, cbPacket, pSG->cbTotal - sizeof(RTNETETHERHDR), true /*fChecksum*/))
2225 uint32_t cbIpHdr = pIpHdr->ip_hl * 4;
2230 intnetR0NetworkSnoopDhcp(pNetwork, pIpHdr, (PCRTNETUDP)((uintptr_t)pIpHdr + cbIpHdr), cbPacket - cbIpHdr);
2327 PCRTNETIPV4 pIpHdr
[all...]
H A DDevE1000.cpp3986 struct E1kIpHeader *pIpHdr = (struct E1kIpHeader *) local
4032 pIpHdr->total_len = htons(pThis->u16TxPktLen - pThis->contextTSE.ip.u8CSS);
4033 E1kLog3(("%s e1kFallbackAddSegment: End of packet, pIpHdr->total_len=%x\n",
4034 pThis->szPrf, ntohs(pIpHdr->total_len)));
4036 pIpHdr->chksum = 0;
4082 pIpHdr->ident = htons(ntohs(pIpHdr->ident) + 1);
4093 struct E1kIpHeader *pIpHdr = (struct E1kIpHeader *) local
4139 pIpHdr->total_len = htons(pThis->u16TxPktLen - pThis->contextTSE.ip.u8CSS);
4140 E1kLog3(("%s e1kFallbackAddSegment: End of packet, pIpHdr
[all...]
/vbox/src/VBox/HostDrivers/VBoxNetFlt/solaris/
H A DVBoxNetFlt-solaris.c3620 PRTNETIPV4 pIpHdr = (PRTNETIPV4)pbProtocol;
3621 size_t cbPayload = cbIpPacket - (pIpHdr->ip_hl << 2);
3623 if (RTNetIPv4IsHdrValid(pIpHdr, cbPayload, cbPayload))
3625 pbProtocol += (pIpHdr->ip_hl << 2);
3630 if (pIpHdr->ip_p == RTNETIPV4_PROT_TCP)
3633 uint16_t TcpChecksum = RTNetIPv4TCPChecksum(pIpHdr, pTcpHdr, NULL);
3641 else if (pIpHdr->ip_p == RTNETIPV4_PROT_UDP)
3644 uint16_t UdpChecksum = RTNetIPv4UDPChecksum(pIpHdr, pUdpHdr, pUdpHdr + 1);
3697 PRTNETIPV4 pIpHdr = (PRTNETIPV4)(pEthHdr + 1);
3701 if (pIpHdr
[all...]
H A DVBoxNetFltBow-solaris.c586 PRTNETIPV4 pIpHdr = (PRTNETIPV4)(pEthHdr + 1);
589 if (pIpHdr->ip_p == RTNETIPV4_PROT_ICMP)
591 else if (pIpHdr->ip_p == RTNETIPV4_PROT_TCP)
593 else if (pIpHdr->ip_p == RTNETIPV4_PROT_UDP)
595 PCRTNETUDP pUdpHdr = (PCRTNETUDP)((uint32_t *)pIpHdr + pIpHdr->ip_hl);
600 RT_BE2H_U16(pUdpHdr->uh_sum), RT_BE2H_U16(RTNetIPv4UDPChecksum(pIpHdr, pUdpHdr, pUdpHdr + 1))));

Completed in 143 milliseconds