NDIS_NET_BUFFER_LIST_INFO (Compact 2013)

3/26/2014

This enumeration identifies information that is common to all NET_BUFFER structures in a NET_BUFFER_LIST structure.

Syntax

typedef enum _NDIS_NET_BUFFER_LIST_INFO {
    TcpIpChecksumNetBufferListInfo,
    TcpOffloadBytesTransferred = TcpIpChecksumNetBufferListInfo,
    IPsecOffloadV1NetBufferListInfo,

    IPsecOffloadV2NetBufferListInfo = IPsecOffloadV1NetBufferListInfo,

    TcpLargeSendNetBufferListInfo,
    TcpReceiveNoPush = TcpLargeSendNetBufferListInfo,
    ClassificationHandleNetBufferListInfo,
    Ieee8021QNetBufferListInfo,
    NetBufferListCancelId,
    MediaSpecificInformation,
    NetBufferListFrameType,
    NetBufferListProtocolId = NetBufferListFrameType,
    NetBufferListHashValue,
    NetBufferListHashInfo,
    WfpNetBufferListInfo,

    IPsecOffloadV2TunnelNetBufferListInfo,
    IPsecOffloadV2HeaderNetBufferListInfo,

    MaxNetBufferListInfo
} NDIS_NET_BUFFER_LIST_INFO, *PNDIS_NET_BUFFER_LIST_INFO;

Values

  • TcpIpChecksumNetBufferListInfo
    Identifies checksum information that is used in offloading checksum tasks from the TCP/IP protocol to a miniport driver. When TcpIpChecksumNetBufferListInfo is specified, NET_BUFFER_LIST_INFO returns an NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO structure. This structure contains a union that allows the checksum information to be accessed as a single PVOID value or as bit fields.
  • TcpOffloadBytesTransferred
    Identifies a ULONG value that is the number of data bytes that were transferred in a TCP chimney offload send, receive, or disconnect operation.
  • IPsecOffloadV1NetBufferListInfo
    Identifies IPsec information that is used in offloading IPsec tasks from the TCP/IP protocol to a miniport driver. When IPsecOffloadV1NetBufferListInfo is specified, NET_BUFFER_LIST_INFO returns an NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO structure.
  • IPsecOffloadV2NetBufferListInfo
    Specifies IP security offload version 2 (IPsecV2) information that is used in offloading IPsec tasks from the TCP/IP protocol to a miniport driver. When you specify IPsecOffloadV2NetBufferListInfo, NET_BUFFER_LIST_INFO returns a NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO structure.
  • TcpLargeSendNetBufferListInfo
    Identifies information that is used in offloading the segmentation of a large TCP packet from the TCP/IP protocol to a miniport adapter for large send offload version 1 (LSOV1) and large send offload version 2 (LSOV2). When TcpLargeSendNetBufferListInfo is specified, NET_BUFFER_LIST_INFO returns an NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structure. This structure contains a union that enables the information to be accessed as a single PVOID value or as bit fields.

    Before passing a large TCP packet to a miniport driver for segmentation, the TCP/IP protocol writes the values in the LsoV1Transmit member of the NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structure for LSOV1 or the LsoV2Transmit member for LSOV2. Before completing the send of a large TCP packet that it has segmented into smaller packets, a miniport driver writes the values in the LsoV1TransmitComplete member of the NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structure for LSOV1 or the LsoV2TransmitComplete member for LSOV2. For LSOV1, the value that the miniport driver writes includes the total number of TCP payload bytes that the miniport driver sent in the packets that it segmented from the large TCP packet.

  • TcpReceiveNoPush
    Identifies a Boolean value that represents the push mode of a TCP chimney offload receive request. If TRUE, the receive request is in non-push mode. Otherwise, the receive request is in push mode.
  • ClassificationHandleNetBufferListInfo
    Reserved
  • Ieee8021QNetBufferListInfo
    Identifies 802.1Q information about a packet. When Ieee8021QNetBufferListInfo is specified, NET_BUFFER_LIST_INFO returns the Value member of an NDIS_NET_BUFFER_LIST_8021Q_INFO structure. This structure can specify 802.1p priority and VLAN identifier information. 802.1p priority information is used to establish packet priority in shared-media 802 networks. Miniport drivers that support the 802.1q tag in hardware must use the NDIS_NET_BUFFER_LIST_8021Q_INFO structure for transmit and receive operations.
  • NetBufferListCancelId
    Identifies a ULONG_PTR value that is a cancellation identifier for the NET_BUFFER_LIST structure. To cancel the pending transmission of a marked NET_BUFFER_LIST structure, a protocol driver passes the packet's cancellation identifier to NdisCancelSendNetBufferLists. Drivers must call NdisGeneratePartialCancelId to obtain a value that the driver must use as the high-order byte of a cancellation identifier.
  • MediaSpecificInformation
    Identifies a PVOID value that is the address of a driver-allocated buffer. This buffer contains any media-specific out-of-band data that accompanies the NET_BUFFER structures that are associated with the NET_BUFFER_LIST structure. If a protocol driver allocated the out-of-band data, it configured the data for a send operation. If a miniport driver allocated the data, it configured the data for a receive indication.
  • NetBufferListFrameType
    Identifies a USHORT value that is the frame type of the received Ethernet packets.
  • NetBufferListProtocolId
    Identifies a UCHAR value that is a protocol identifier as one of the following values:

    • NDIS_PROTOCOL_ID_DEFAULT
      A default protocol driver identifier
    • NDIS_PROTOCOL_ID_TCP_IP
      The TCP/IP protocol
    • NDIS_PROTOCOL_ID_IPX
      The IPX protocol
    • NDIS_PROTOCOL_ID_NBF
      The NetBEUI protocol
  • NetBufferListHashValue
    On the receive path, NetBufferListHashValue identifies a ULONG value that is the RSS hash value that a network adapter calculated, if any.

    On the transmit path, NetBufferListHashValue identifies a ULONG value that is the RSS hash value that TCP/IP calculated, if any. In this case, all NET_BUFFER structures in a NET_BUFFER_LIST structure that TCP/IP submitted belong to the same UDP or TCP connection. Therefore, this hash value applies to all NET_BUFFER structures that are in the NET_BUFFER_LIST structure.

  • NetBufferListHashInfo
    Identifies a ULONG value that is the RSS hash information, which includes the hash function and hash type.
  • WfpNetBufferListInfo
    Reserved for use by the Windows Filtering Platform (WFP). No drivers, including WFP callout drivers, can store information by using this value.
  • IPsecOffloadV2TunnelNetBufferListInfo
    Specifies IPsecV2 tunnel information that is used in offloading IPsec tasks from the TCP/IP protocol to a miniport driver. When you specify IPsecOffloadV2TunnelNetBufferListInfo, NET_BUFFER_LIST_INFO returns a NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO structure.
  • IPsecOffloadV2HeaderNetBufferListInfo
    Specifies IPsecV2 header information that is used in offloading IPsec tasks from the TCP/IP protocol to a miniport driver. When you specify IPsecOffloadV2HeaderNetBufferListInfo, NET_BUFFER_LIST_INFO returns a NDIS_IPSEC_OFFLOAD_V2_HEADER_NET_BUFFER_LIST_INFO structure.
  • MaxNetBufferListInfo
    Reserved

Remarks

The NDIS_NET_BUFFER_LIST_INFO enumeration is used in the NET_BUFFER_LIST structure.

Use these enumeration values with the NET_BUFFER_LIST_INFO macro to set and get values in the NetBufferListInfo array in a NET_BUFFER_LIST.

Requirements

Header

ndis.h

See Also

Reference

NDIS NET_BUFFER Enumerations
NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO
NDIS_NET_BUFFER_LIST_8021Q_INFO
NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO
NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO
NdisCancelSendNetBufferLists
NdisGeneratePartialCancelId
NET_BUFFER
NET_BUFFER_LIST
NDIS_NET_BUFFER_LIST_INFO