Previous Next

NDIS_TASK_TCP_LARGE_SEND

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

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

Version
Miniport drivers should set this to zero.
MaxOffLoadSize
A miniport driver sets this to the maximum bytes of user data that the transport can pass to the miniport driver in a single packet. The transport will not pass a packet to the miniport driver 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 driver 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 NIC for segmentation. The transport will not offload a large packet to the miniport driver for segmentation unless the miniport driver 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 driver to indicate that the miniport driver 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 driver to indicate that its NIC can segment a large TCP packet whose IP header contains IP options. Set by the TCP/IP transport to enable this capability.

Headers

Declared in ndis.h. Include ndis.h.

Comments

In response to a query of OID_TCP_TASK_OFFLOAD, a miniport driver returns in the 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 driver's NIC.

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

When returned by a miniport driver in response to the TCP/IP transport's query of OID_TCP_TASK_OFFLOAD, the NDIS_TASK_TCP_LARGE_SEND structure specifies a NIC's capabilities for segmenting a large TCP packet into smaller TCP packets. When passed to a miniport driver 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.

See Also

OID_TCP_TASK_OFFLOAD, NDIS_TASK_OFFLOAD, NDIS_TASK_OFFLOAD_HEADER