Lines Matching refs:pxSet
122 struct xPacketSummary * pxSet );
124 static BaseType_t prvChecksumProtocolMTUCheck( struct xPacketSummary * pxSet );
128 struct xPacketSummary * pxSet );
133 const struct xPacketSummary * pxSet );
135 static void prvSetChecksumInPacket( const struct xPacketSummary * pxSet,
138 static uint16_t prvGetChecksumFromPacket( const struct xPacketSummary * pxSet );
148 static void prvSetChecksumInPacket( const struct xPacketSummary * pxSet, in prvSetChecksumInPacket() argument
151 if( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_UDP ) in prvSetChecksumInPacket()
153 pxSet->pxProtocolHeaders->xUDPHeader.usChecksum = usChecksum; in prvSetChecksumInPacket()
155 else if( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_TCP ) in prvSetChecksumInPacket()
157 pxSet->pxProtocolHeaders->xTCPHeader.usChecksum = usChecksum; in prvSetChecksumInPacket()
159 else if( ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_ICMP ) || in prvSetChecksumInPacket()
160 ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_IGMP ) ) in prvSetChecksumInPacket()
162 pxSet->pxProtocolHeaders->xICMPHeader.usChecksum = usChecksum; in prvSetChecksumInPacket()
164 …else if( ( pxSet->xIsIPv6 != pdFALSE ) && ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_ICMP_IPv6 … in prvSetChecksumInPacket()
166 pxSet->pxProtocolHeaders->xICMPHeaderIPv6.usChecksum = usChecksum; in prvSetChecksumInPacket()
182 static uint16_t prvGetChecksumFromPacket( const struct xPacketSummary * pxSet ) in prvGetChecksumFromPacket() argument
186 if( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_UDP ) in prvGetChecksumFromPacket()
188 usChecksum = pxSet->pxProtocolHeaders->xUDPHeader.usChecksum; in prvGetChecksumFromPacket()
190 else if( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_TCP ) in prvGetChecksumFromPacket()
192 usChecksum = pxSet->pxProtocolHeaders->xTCPHeader.usChecksum; in prvGetChecksumFromPacket()
194 else if( ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_ICMP ) || in prvGetChecksumFromPacket()
195 ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_IGMP ) ) in prvGetChecksumFromPacket()
197 usChecksum = pxSet->pxProtocolHeaders->xICMPHeader.usChecksum; in prvGetChecksumFromPacket()
199 …else if( ( pxSet->xIsIPv6 != pdFALSE ) && ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_ICMP_IPv6 … in prvGetChecksumFromPacket()
201 usChecksum = pxSet->pxProtocolHeaders->xICMPHeaderIPv6.usChecksum; in prvGetChecksumFromPacket()
385 struct xPacketSummary * pxSet ) in prvChecksumProtocolChecks() argument
393 if( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_UDP ) in prvChecksumProtocolChecks()
395 if( ( pxSet->usProtocolBytes < ipSIZE_OF_UDP_HEADER ) || in prvChecksumProtocolChecks()
396 … ( uxBufferLength < ( ipSIZE_OF_ETH_HEADER + pxSet->uxIPHeaderLength + ipSIZE_OF_UDP_HEADER ) ) ) in prvChecksumProtocolChecks()
398 pxSet->usChecksum = ipINVALID_LENGTH; in prvChecksumProtocolChecks()
404 pxSet->uxProtocolHeaderLength = sizeof( pxSet->pxProtocolHeaders->xUDPHeader ); in prvChecksumProtocolChecks()
407 pxSet->pcType = "UDP"; in prvChecksumProtocolChecks()
412 else if( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_TCP ) in prvChecksumProtocolChecks()
414 if( ( pxSet->usProtocolBytes < ipSIZE_OF_TCP_HEADER ) || in prvChecksumProtocolChecks()
415 … ( uxBufferLength < ( ipSIZE_OF_ETH_HEADER + pxSet->uxIPHeaderLength + ipSIZE_OF_TCP_HEADER ) ) ) in prvChecksumProtocolChecks()
417 pxSet->usChecksum = ipINVALID_LENGTH; in prvChecksumProtocolChecks()
423 uint8_t ucLength = pxSet->pxProtocolHeaders->xTCPHeader.ucTCPOffset >> 4U; in prvChecksumProtocolChecks()
428 pxSet->usChecksum = ipINVALID_LENGTH; in prvChecksumProtocolChecks()
435 pxSet->uxProtocolHeaderLength = ipSIZE_OF_TCP_HEADER + uxOptionsLength; in prvChecksumProtocolChecks()
438 pxSet->pcType = "TCP"; in prvChecksumProtocolChecks()
444 else if( ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_ICMP ) || in prvChecksumProtocolChecks()
445 ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_IGMP ) ) in prvChecksumProtocolChecks()
447 if( ( pxSet->usProtocolBytes < ipSIZE_OF_ICMPv4_HEADER ) || in prvChecksumProtocolChecks()
448 …( uxBufferLength < ( ipSIZE_OF_ETH_HEADER + pxSet->uxIPHeaderLength + ipSIZE_OF_ICMPv4_HEADER ) ) ) in prvChecksumProtocolChecks()
450 pxSet->usChecksum = ipINVALID_LENGTH; in prvChecksumProtocolChecks()
456 pxSet->uxProtocolHeaderLength = sizeof( pxSet->pxProtocolHeaders->xICMPHeader ); in prvChecksumProtocolChecks()
460 if( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_ICMP ) in prvChecksumProtocolChecks()
462 pxSet->pcType = "ICMP"; in prvChecksumProtocolChecks()
466 pxSet->pcType = "IGMP"; in prvChecksumProtocolChecks()
472 …else if( ( pxSet->xIsIPv6 != pdFALSE ) && ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_ICMP_IPv6 … in prvChecksumProtocolChecks()
475 xReturn = prvChecksumICMPv6Checks( uxBufferLength, pxSet ); in prvChecksumProtocolChecks()
481 pxSet->usChecksum = ipUNHANDLED_PROTOCOL; in prvChecksumProtocolChecks()
494 static BaseType_t prvChecksumProtocolMTUCheck( struct xPacketSummary * pxSet ) in prvChecksumProtocolMTUCheck() argument
504 ulMaxLength -= ( uint32_t ) pxSet->uxIPHeaderLength; in prvChecksumProtocolMTUCheck()
506 if( ( pxSet->usProtocolBytes < ( uint16_t ) pxSet->uxProtocolHeaderLength ) || in prvChecksumProtocolMTUCheck()
507 ( pxSet->usProtocolBytes > ulMaxLength ) ) in prvChecksumProtocolMTUCheck()
511 …ug_printf( ( "usGenerateProtocolChecksum[%s]: len invalid: %u\n", pxSet->pcType, pxSet->usProtocol… in prvChecksumProtocolMTUCheck()
519 pxSet->usChecksum = ipINVALID_LENGTH; in prvChecksumProtocolMTUCheck()
534 struct xPacketSummary * pxSet ) in prvChecksumProtocolCalculate() argument
537 if( pxSet->xIsIPv6 != pdFALSE ) in prvChecksumProtocolCalculate()
548 pulHeader[ 0 ] = ( uint32_t ) pxSet->usProtocolBytes; in prvChecksumProtocolCalculate()
550 pulHeader[ 1 ] = ( uint32_t ) pxSet->ucProtocol; in prvChecksumProtocolCalculate()
553 pxSet->usChecksum = usGenerateChecksum( 0U, in prvChecksumProtocolCalculate()
555 … ( size_t ) ( 2U * sizeof( pxSet->pxIPPacket_IPv6->xSourceAddress ) ) ); in prvChecksumProtocolCalculate()
557 pxSet->usChecksum = usGenerateChecksum( pxSet->usChecksum, in prvChecksumProtocolCalculate()
563 …if( ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_ICMP ) || ( pxSet->ucProtocol == ( uint8_t ) ipP… in prvChecksumProtocolCalculate()
566 pxSet->usChecksum = ( uint16_t ) in prvChecksumProtocolCalculate()
567 …sum( 0U, &( pucEthernetBuffer[ ipSIZE_OF_ETH_HEADER + pxSet->uxIPHeaderLength ] ), ( size_t ) pxSe… in prvChecksumProtocolCalculate()
570 …else if( ( pxSet->xIsIPv6 != pdFALSE ) && ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_ICMP_IPv6 … in prvChecksumProtocolCalculate()
573 pxSet->usChecksum = ( uint16_t ) in prvChecksumProtocolCalculate()
574 ( ~usGenerateChecksum( pxSet->usChecksum, in prvChecksumProtocolCalculate()
575 … ( uint8_t * ) &( pxSet->pxProtocolHeaders->xTCPHeader ), in prvChecksumProtocolCalculate()
576 ( size_t ) pxSet->usProtocolBytes ) ); in prvChecksumProtocolCalculate()
582 switch( pxSet->xIsIPv6 ) /* LCOV_EXCL_BR_LINE */ in prvChecksumProtocolCalculate()
587 pxSet->usChecksum = ( uint16_t ) in prvChecksumProtocolCalculate()
588 ( ~usGenerateChecksum( pxSet->usChecksum, in prvChecksumProtocolCalculate()
589 … ( uint8_t * ) &( pxSet->pxProtocolHeaders->xUDPHeader.usSourcePort ), in prvChecksumProtocolCalculate()
590 … ( size_t ) ( pxSet->usProtocolBytes ) ) ); in prvChecksumProtocolCalculate()
598 uint32_t ulByteCount = pxSet->usProtocolBytes; in prvChecksumProtocolCalculate()
603 … pxSet->usChecksum = ( uint16_t ) ( pxSet->usProtocolBytes + ( ( uint16_t ) pxSet->ucProtocol ) ); in prvChecksumProtocolCalculate()
606 pxSet->usChecksum = ( uint16_t ) in prvChecksumProtocolCalculate()
607 ( ~usGenerateChecksum( pxSet->usChecksum, in prvChecksumProtocolCalculate()
608 … ( const uint8_t * ) &( pxSet->pxIPPacket->xIPHeader.ulSourceIPAddress ), in prvChecksumProtocolCalculate()
627 if( pxSet->usChecksum == 0U ) in prvChecksumProtocolCalculate()
629 pxSet->usChecksum = ( uint16_t ) ipCORRECT_CRC; in prvChecksumProtocolCalculate()
633 pxSet->usChecksum = ( uint16_t ) ipWRONG_CRC; in prvChecksumProtocolCalculate()
638 if( ( pxSet->usChecksum == 0U ) && ( pxSet->ucProtocol == ( uint8_t ) ipPROTOCOL_UDP ) ) in prvChecksumProtocolCalculate()
642 pxSet->usChecksum = ( uint16_t ) 0xffffu; in prvChecksumProtocolCalculate()
646 pxSet->usChecksum = FreeRTOS_htons( pxSet->usChecksum ); in prvChecksumProtocolCalculate()
660 const struct xPacketSummary * pxSet ) in prvChecksumProtocolSetChecksum() argument
664 prvSetChecksumInPacket( pxSet, pxSet->usChecksum ); in prvChecksumProtocolSetChecksum()
668 else if( pxSet->usChecksum != ipCORRECT_CRC ) in prvChecksumProtocolSetChecksum()
671 usGot = prvGetChecksumFromPacket( pxSet ); in prvChecksumProtocolSetChecksum()
673 pxSet->pcType, in prvChecksumProtocolSetChecksum()
674 pxSet->usProtocolBytes, in prvChecksumProtocolSetChecksum()
675 … FreeRTOS_ntohs( pxSet->pxIPPacket->xIPHeader.usIdentification ), in prvChecksumProtocolSetChecksum()
676 … ( unsigned ) FreeRTOS_ntohl( pxSet->pxIPPacket->xIPHeader.ulSourceIPAddress ), in prvChecksumProtocolSetChecksum()
677 … ( unsigned ) FreeRTOS_ntohl( pxSet->pxIPPacket->xIPHeader.ulDestinationIPAddress ), in prvChecksumProtocolSetChecksum()
678 FreeRTOS_ntohs( pxSet->usChecksum ), in prvChecksumProtocolSetChecksum()