NDIS_NET_BUFFER_LIST_INFO enumeration (ndis/nblinfo.h)
The NDIS_NET_BUFFER_LIST_INFO 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,
IPsecOffloadV1NetBufferListInfo,
IPsecOffloadV2NetBufferListInfo,
TcpLargeSendNetBufferListInfo,
TcpReceiveNoPush,
ClassificationHandleNetBufferListInfo,
Ieee8021QNetBufferListInfo,
NetBufferListCancelId,
MediaSpecificInformation,
NetBufferListFrameType,
NetBufferListProtocolId,
NetBufferListHashValue,
NetBufferListHashInfo,
WfpNetBufferListInfo,
IPsecOffloadV2TunnelNetBufferListInfo,
IPsecOffloadV2HeaderNetBufferListInfo,
NetBufferListCorrelationId,
NetBufferListFilteringInfo,
MediaSpecificInformationEx,
NblOriginalInterfaceIfIndex,
NblReAuthWfpFlowContext,
TcpReceiveBytesTransferred,
NrtNameResolutionId,
UdpRecvSegCoalesceOffloadInfo,
SwitchForwardingReserved,
SwitchForwardingDetail,
VirtualSubnetInfo,
IMReserved,
TcpRecvSegCoalesceInfo,
UdpSegmentationOffloadInfo,
RscTcpTimestampDelta,
TcpSendOffloadsSupplementalNetBufferListInfo,
GftOffloadInformation,
GftFlowEntryId,
NetBufferListInfoReserved3,
SwitchForwardingReserved,
SwitchForwardingDetail_b0_to_b31,
SwitchForwardingDetail_b32_to_b63,
VirtualSubnetInfo,
NetBufferListInfoReserved1,
NetBufferListInfoReserved2,
MaxNetBufferListInfo
} NDIS_NET_BUFFER_LIST_INFO, *PNDIS_NET_BUFFER_LIST_INFO;
Constants
TcpIpChecksumNetBufferListInfo Identifies checksum information that is used in offloading checksum tasks from the TCP/IP protocol to a miniport driver. When TcpIpChecksumNetBufferListInfo is specified, the NET_BUFFER_LIST_INFO macro 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 Internet Protocol security (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 Internet protocol 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 an 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:
|
NetBufferListHashValue On the receive path, NetBufferListHashValue identifies a ULONG value that is the RSS hash value that a NIC 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. For more information, see Indicating RSS Receive Data. |
NetBufferListHashInfo Identifies a ULONG value that is the RSS hash information, which includes the hash function and hash type. For more information, see Indicating RSS Receive Data. |
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 an 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 an NDIS_IPSEC_OFFLOAD_V2_HEADER_NET_BUFFER_LIST_INFO structure. |
NetBufferListCorrelationId Reserved. |
NetBufferListFilteringInfo Specifies filtering information that is used in the virtual machine queue (VMQ) interface, the single root I/O virtualization (SR-IOV) interface, and NDIS packet coalescing. When you specify NetBufferListFilteringInfo, NET_BUFFER_LIST_INFO returns an NDIS_NET_BUFFER_LIST_FILTERING_INFO structure. Starting with NDIS 6.20, receive indications made by miniport drivers that support VMQ, SR-IOV, or packet coalescing must include an NDIS_NET_BUFFER_LIST_FILTERING_INFO structure. The miniport drivers must set the VMQ queue identifier in the QueueId member of the NDIS_NET_BUFFER_LIST_FILTERING_INFO structure. The driver also sets the FilterId member of the NDIS_NET_BUFFER_LIST_FILTERING_INFO structure to zero. Note Starting with NDIS 6.30, the miniport driver that supports SR-IOV or packet coalescing must set the QueueId to NDIS_DEFAULT_RECEIVE_QUEUE_ID and the FilterId member to zero. |
MediaSpecificInformationEx Identifies a pointer to a driver-allocated NDIS_NBL_MEDIA_SPECIFIC_INFORMATION_EX structure. This structure identifies any media-specific out-of-band data that accompanies the NET_BUFFER structures that are associated with the NET_BUFFER_LIST structure. NDIS 6.20 and later drivers should use the NDIS_NBL_MEDIA_SPECIFIC_INFORMATION_EX structure to specify media specific information. Any driver in an NDIS driver stack can allocate and manage media-specific information. |
NblOriginalInterfaceIfIndex Reserved. |
NblReAuthWfpFlowContext Reserved. |
TcpReceiveBytesTransferred Identifies a ULONG value that is the number of data bytes that were received by the host stack and filled in the receive request that is being processed as a TCP chimney offload receive operation. |
NrtNameResolutionId Reserved. |
UdpRecvSegCoalesceOffloadInfo Identifies UDP Receive Segment Coalescing Offload (URO) information. When UdpRecvSegCoalesceOffloadInfo is specified, NET_BUFFER_LIST_INFO returns an NDIS_UDP_RSC_OFFLOAD_NET_BUFFER_LIST_INFO structure. This structure contains a union that enables drivers to access the information as a single PVOID value. |
SwitchForwardingReserved Reserved for NDIS. |
SwitchForwardingDetail Identifies a pointer to a driver-allocated NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO structure. This structure specifies the information for forwarding a packet to one or more ports of a Hyper-V extensible switch. The driver allocates this structure by calling AllocateNetBufferListForwardingContext and frees the structure by calling FreeNetBufferListForwardingContext. |
VirtualSubnetInfo Identifies a pointer to a driver-allocated NDIS_NET_BUFFER_LIST_VIRTUAL_SUBNET_INFO structure. |
IMReserved Reserved for NDIS. |
TcpRecvSegCoalesceInfo Identifies receive segment coalescing (RSC) information. When TcpRecvSegCoalesceInfo is specified, NET_BUFFER_LIST_INFO returns an NDIS_RSC_NBL_INFO union. This union enables drivers to access the information as a single PVOID value. |
UdpSegmentationOffloadInfo Identifies information that is used in offloading the segmentation of a large UDP packet from the TCP/IP protocol to a miniport adapter for UDP Segmentation Offload (USO). When UdpSegmentationOffloadInfo is specified, NET_BUFFER_LIST_INFO returns an NDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO structure. This structure contains a union that enables drivers to access the information as a single PVOID value or as bit fields. |
RscTcpTimestampDelta Identifies a ULONG value containing RSC timestamp information. For more information, see the NDIS_RSC_NBL_INFO documentation. |
TcpSendOffloadsSupplementalNetBufferListInfo Identifies a pointer to a driver-allocated NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO structure containing additional out-of-band information for encapsulated packets. |
GftOffloadInformation Generic Flow Table (GFT) Offload information. |
GftFlowEntryId The flow entry ID for GFT. |
NetBufferListInfoReserved3 Reserved. |
SwitchForwardingReserved Reserved for NDIS. |
SwitchForwardingDetail_b0_to_b31 Identifies a pointer to a driver-allocated NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO structure. SwitchForwardingDetail_b0_to_b31 and SwitchForwardingDetail_b32_to_b63 are used to fit 64b OOB data for 32b mode. Available in NDIS 6.82 and higher. |
SwitchForwardingDetail_b32_to_b63 See SwitchForwardingDetail_b0_to_b31. |
VirtualSubnetInfo Identifies a pointer to a driver-allocated NDIS_NET_BUFFER_LIST_VIRTUAL_SUBNET_INFO structure. |
NetBufferListInfoReserved1 Reserved for NDIS. |
NetBufferListInfoReserved2 Reserved for NDIS. |
MaxNetBufferListInfo The maximum value for this enumeration. This value might change in future versions of the NDIS header files and binaries. |
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
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.0 and later. |
Header | ndis/nblinfo.h (include ndis.h) |
See also
NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_HEADER_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO NDIS_NBL_MEDIA_SPECIFIC_INFORMATION_EX NDIS_NET_BUFFER_LIST_8021Q_INFO NDIS_NET_BUFFER_LIST_FILTERING_INFONDIS_NET_BUFFER_LIST_VIRTUAL_SUBNET_INFO
NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO
NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO