Struct:ttDevSendOffloadStruct

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