Struct:ttDevSendOffloadStruct
typedef struct tsDevSendOffloadStruct { /* * One of more of the device offload flags as defined in the * TM_DEV_IOCTL_OFFLOAD_SET tfIoctlInterface(). * Note that a TM_DEVO_TCP_SEGMENT_OFFLOAD_V4 flag, indicates an IPv4 protocol * and a TM_DEVO_TCP_SEGMENT_OFFLOAD_V6 indicates an IPv6 protocol (needed for * segmentation) */ ttUser16Bit devoFlags; /* TCP/IP or UDP/IP header length to be used in each frame */ ttUser16Bit devoFrameHdrLen; /* Total TCP payload (used in segmentation) not including header */ ttUser32Bit devoPayload; /* Maximum TCP or UDP payload segment per frame not including header */ ttUser16Bit devoFramePayload; /* UDP/TCP header checksum */ ttUser16Bit devoTucss; /* offset to first byte to be included in Xsum */ ttUser16Bit devoTucso; /* Offset to Xsum field */ ttUser16Bit devoTucse; /* Offset to last byte to be in included in Xsum */ #ifdef TM_USE_IPV4 /* IP header checksum */ ttUser16Bit devoIpcss; /* offset to first byte to be included in Xsum */ ttUser16Bit devoIpcso; /* Offset to Xsum field */ ttUser16Bit devoIpcse; /* Offset to last byte to be in included in Xsum */ #endif /* TM_USE_IPV4 */ } ttDevSendOffloadStruct; typedef ttDevSendOffloadStruct TM_FAR * ttDevSendOffloadPtr;
Members
- (ttUser16Bit) devoFlags
- One of more of the device offload flags as shown below.
- (ttUser16Bit) devoFrameHdrLen
- TCP/IP header length to be used in each frame (segmentation).
- (ttUser32Bit) devoPayload
- Total TCP payload not including header (segmentation).
- (ttUser16Bit) devoFramePayload
- Maximum TCP payload segment per frame not including header (segmentation).
- (ttUser16Bit) devoTucss
- UDP/TCP/ICMPV6 header checksum: offset to first byte to be included in Xsum.
- (ttUser16Bit) devoTucso
- UDP/TCP/ICMPV6 header checksum: Offset to Xsum field.
- (ttUser16Bit) devoTucse
- UDP/TCP/ICMPV6 header checksum: Offset to last byte to be in included in Xsum. Note that 0 means offset to last byte of the entire packet.
- (ttUser16Bit) devoIpcss
- IPv4 header checksum: offset to first byte to be included in Xsum.
- (ttUser16Bit) devoIpcso
- IPv4 header checksum: Offset to Xsum field.
- (ttUser16Bit) devoIpcse
- IPv4 header checksum: Offset to last byte to be in included in Xsum.
Flags
- TM_DEVO_TCP_CHKSUM_OFFLOAD
- TCP checksum is to be offloaded (no segmentation offload)
- TM_DEVO_UDP_CHKSUM_OFFLOAD
- UDP checksum is to be offloaded
- TM_DEVO_ICMP6_CHKSUM_OFFLOAD
- ICMPV6 checksum is to be offloaded
- TM_DEVO_IP_CHKSUM_OFFLOAD
- IPv4 checksum is to be offloaded
- TM_DEVO_TCP_SEGMENT_OFFLOAD_V4
- TCP Segmentation offload for IPv4 packets. Note that whenever TCP segment is enabled, TM_DEVO_IP_CHKSUM_OFFLOAD is enabled automatically.
- TM_DEVO_TCP_SEGMENT_OFFLOAD_V6
- TCP Segmentation offload for IPv6 packet