Struct:ttDevIoctlOffloadStruct
typedef struct tsDevIoctlOffloadStruct { ttUser16Bit offloadFlags; ttUser16Bit offloadMaxSize; } ttDevIoctlOffloadStruct; typedef ttDevIoctlOffloadStruct TM_FAR * ttDevIoctlOffloadPtr;
Members
- (ttUser16Bit) offloadFlags
- One or more bits set to indicate the offload capabilities of the driver as described below.
- (ttUser16Bit) offloadMaxSize
- Maximum size of a TCP packet (including IP header and Ethernet header) that the driver can segment.
Flags
- TM_DEVO_PACKET_RECV_CHKSUM_COMPUTE
- Legacy: Device calculates recv checksum on the entire packet (hardware will append the recv checksum on the entire packet (minus the MAC layer) at the end of the data in network byte order. Note that some drivers append the checksum in little endian order; in this case the recv checksum should be flipped by the driver.
- TM_DEVO_IP_RECV_CHKSUM_VALIDATE
- Hardware validates the recv IPv4 header checksum
- TM_DEVO_TCP_RECV_CHKSUM_VALIDATE
- Hardware validates the recv TCP header checksum
- TM_DEVO_UDP_RECV_CHKSUM_VALIDATE
- Hardware validates the recv UDP header checksum
- TM_DEVO_ICMP6_RECV_CHKSUM_VALIDATE
- Hardware validates the ICMPv6 header checksum
- TM_DEVO_DITCH_BAD_CHECKSUM_PACKETS
- Device driver will not pass up the stack packets that have bad checksums.
- TM_DEVO_TCP_CHKSUM_OFFLOAD
- Device supports TCP checksum offload only (no segmentation offload)
- TM_DEVO_UDP_CHKSUM_OFFLOAD
- Device supports UDP checksum offload
- TM_DEVO_ICMP6_CHKSUM_OFFLOAD
- Device supports ICMPV6 checksum offload
- TM_DEVO_IP_CHKSUM_OFFLOAD
- Device supports IPv4 checksum offload
- TM_DEVO_TCP_SEGMENT_OFFLOAD_V4
- Device supports 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
- Device supports TCP Segmentation offload for IPv6 packets