_NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structure

The NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structure specifies information that is used in offloading large send offload (LSO) tasks from the TCP/IP transport to a miniport adapter. The NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structure is part of the NET_BUFFER_LIST information.

Syntax

typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO {
  union {
    struct {
      ULONG Unused : 30;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } Transmit;
    struct {
      ULONG MSS : 20;
      ULONG TcpHeaderOffset : 10;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } LsoV1Transmit;
    struct {
      ULONG TcpPayload : 30;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } LsoV1TransmitComplete;
    struct {
      ULONG MSS : 20;
      ULONG TcpHeaderOffset : 10;
      ULONG Type : 1;
      ULONG IPVersion : 1;
    } LsoV2Transmit;
    struct {
      ULONG Reserved : 30;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } LsoV2TransmitComplete;
    PVOID Value;
  };
} NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, *PNDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO;

Members

Remarks

The NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structure specifies information for LSOV1 and LSOV2 operations. The NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structure is part of the information that is included in a NET_BUFFER_LIST structure.

To set and get the LSOV1 or LSOV2 information, use the TcpLargeSendNetBufferListInfo index with the NET_BUFFER_LIST_INFO macro. NET_BUFFER_LIST_INFO returns a ULONG value (not a pointer to a ULONG value).

The TCP/IP transport updates the MSS and TcpHeaderOffset members of the NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structure before sending a large packet to a miniport driver.

For LSOV1, miniport drivers write the TCP payload size in the TcpPayload member before completing a send operation for a segmented packet.

Note Any NET_BUFFER_LIST structure that contains the LSOv1 or LSOv2 information also contains a single NET_BUFFER structure.

Requirements

   
Windows version Supported in NDIS 6.0 and later.
Header ndis.h (include Ndis.h)

See Also

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

Offloading the Segmentation of Large TCP Packets