Share via


Reporting a NIC's TCP-Packet-Segmentation Capabilities (NDIS 5.1)

Note   NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.

The miniport driver specifies its NIC's packet-segmentation capabilities in an NDIS_TASK_TCP_LARGE_SENDstructure. In response to a query of OID_TCP_TASK_OFFLOAD, the miniport driver overlays this structure onto the TaskBufferof an NDIS_TASK_OFFLOADstructure that the miniport driver returns in the InformationBuffer.

The NDIS_TASK_TCP_LARGE_SEND structure is defined as:

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;

The miniport driver must specify the following in the NDIS_TASK_TCP_LARGE_SEND structure:

  • The MaxOffLoadSize, which is the maximum bytes of user data that the TCP/IP transport can pass to the miniport driver in a large TCP packet.

  • The MinSegmentCount, which is the minimum number of segments by which a large TCP packet must be divisible before the TCP/IP transport can offload it to the miniport driver's NIC for segmentation.

  • Whether its NIC can segment a large TCP packet that contains TCP options.

  • Whether its NIC can segment a large TCP packet that contains IP options.

 

 

Send comments about this topic to Microsoft