Struct:ttDevRecvOffloadStruct

Jump to: navigation, search
 
typedef struct tsDevRecvOffloadStruct
{
/*
 * One of more of the TM_DEVOR_XXX flags as defined below.
 */
    ttUser16Bit devoRFlags;
/* Recv checksum as computed by the board */
    ttUser16Bit devoRecvXsum;
/* Offset to start of checksum computation */
    ttUser16Bit devoRecvXsumOffset;
/* Checksum done on this amount of data */
    ttUser16Bit devoRecvXsumLength;
} ttDevRecvOffloadStruct;
typedef ttDevRecvOffloadStruct TM_FAR * ttDevRecvOffloadPtr;
 


Members

  • (ttUser16Bit) devoRFlags
    One of more of the TM_DEVOR_XXX flags as defined below.
  • (ttUser16Bit) devoRecvXsum
    Recv checksum as computed by the hardware in network byte order (legacy).
  • (ttUser16Bit) devoRecvXsumOffset
    Offset to start of checksum computation (legacy).
  • (ttUser16Bit) devoRecvXsumLength
    Checksum done on this amount of data (legacy).


Note Note: In case the hardware supports legacy recv checksum hardware computation, the device driver will need to copy:
  1. The hardware checksum in the 'devoRecvXsum' field in network byte order
  2. The offset from the beginning of the packet to where the hardware checksum computation started in the 'devoRecvXsumOffset' field
  3. The length of the data that was checksum'ed in the 'devoRecvXsumLength' field.


Flags

  • TM_DEVOR_PACKET_RECV_CHKSUM_COMPUTED
    recv checksum has been computed (legacy)
  • TM_DEVOR_IP_RECV_CHKSUM_VALIDATED
    recv IP header checksum has been validated
  • TM_DEVOR_TCP_RECV_CHKSUM_VALIDATED
    recv TCP header checksum has been validated
  • TM_DEVOR_UDP_RECV_CHKSUM_VALIDATED
    recv TCP header checksum has been validated
  • TM_DEVOR_ICMP6_RECV_CHKSUM_VALIDATED
    recv TCP header checksum has been validated
  • TM_DEVOR_IP_RECV_CHKSUM_FAILED
    recv IPv4 header checksum failed
  • TM_DEVOR_TCP_RECV_CHKSUM_FAILED
    recv TCP header checksum failed
  • TM_DEVOR_UDP_RECV_CHKSUM_FAILED
    recv UDP header checksum failed
  • TM_DEVOR_ICMP6_RECV_CHKSUM_FAILED
    recv ICMPv6 header checksum failed