NDIS_TASK_TCP_LARGE_SEND (Compact 2013)

3/26/2014

If it is supplied by a miniport in response to a query of OID_TCP_TASK_OFFLOAD, this structure contains the miniport's network adapter capabilities for segmenting large TCP packets into smaller packets. This structure contains the packet-segmentation capabilities that the TCP/IP transport is enabling for the network adapter, if passed to a miniport in a set of OID_TCP_TASK_OFFLOAD.

Syntax

typedef struct _NDIS_TASK_TCP_LARGE_SEND {
  ULONG Version;
  ULONG MaxOffLoadSize;
  ULONG MinSegmentCount;
  BOOLEAN TcpOptions;
  BOOLEAN IpOptions;
} NDIS_TASK_TCP_LARGE_SEND, *PNDIS_TASK_TCP_LARGE_SEND;

Members

  • MaxOffLoadSize
    A miniport sets this to the maximum bytes of user data that the transport can pass to the miniport in a single packet. The transport will not pass a packet to the miniport that contains more than MaxOffLoadSize user data bytes. If such a packet must be transmitted, the transport itself segments the packet into smaller packets.
  • MinSegmentCount
    A miniport set this to the minimum number of segments that a large TCP packet must be divisible by before the transport can offload it to a network adapter for segmentation. The transport will not offload a large packet to the miniport for segmentation unless the miniport can create at least MinSegmentCount segments from the packet. If a large TCP packet does not meet the minimum segment requirement, the TCP/IP transport itself segments the packet into smaller packets.
  • TcpOptions
    Set by a miniport to indicate that the miniport can segment a large TCP packet whose TCP header contains TCP options. Set by the TCP/IP transport to enable this capability.
  • IpOptions
    Set by a miniport to indicate that its network adapter can segment a large TCP packet whose IP header contains IP options. Set by the TCP/IP transport to enable this capability.

Remarks

In response to a query of OID_TCP_TASK_OFFLOAD, a miniport returns in InformationBuffer an NDIS_TASK_OFFLOAD_HEADER structure followed immediately by one or more chained NDIS_TASK_OFFLOAD structures. Each NDIS_TASK_OFFLOAD structure specifies a task-offload capability supported by the miniport's network adapter.

When the Task member of the NDIS_TASK_OFFLOAD structure specifies TcpLargeSendNdisTask, the TaskBuffer member of the NDIS_TASK_OFFLOAD structure contains an NDIS_TASK_TCP_LARGE_SEND structure.

When returned by a miniport in response to the TCP/IP transport's query of OID_TCP_TASK_OFFLOAD, the NDIS_TASK_TCP_LARGE_SEND structure specifies a network adapter's capabilities for segmenting a large TCP packet into smaller TCP packets. When it is passed to a miniport through the TCP/IP transport's set of OID_TCP_TASK_OFFLOAD, the NDIS_TASK_TCP_LARGE_SEND structure specifies the TCP-packet-segmentation capabilities that the transport is enabling.

Requirements

Header

ndis.h

See Also

Reference

NDIS 5.x Legacy Structures
NDIS_TASK_OFFLOAD_HEADER
NDIS_TASK_OFFLOAD
OID_TCP_TASK_OFFLOAD
NDIS 5.x Legacy Reference