Struct:ttDevIoctlOffloadStruct

Jump to: navigation, search
 
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