NDIS_RSC_NBL_INFO union (ndis/nblrsc.h)
The NDIS_RSC_NBL_INFO union specifies receive segment coalescing (RSC) counter information that is associated with a NET_BUFFER_LIST structure.
Syntax
typedef union _NDIS_RSC_NBL_INFO {
struct {
USHORT CoalescedSegCount;
USHORT DupAckCount;
} Info;
PVOID Value;
} NDIS_RSC_NBL_INFO, *PNDIS_RSC_NBL_INFO;
Members
Info
A member in the union that is contained in NDIS_RSC_NBL_INFO. Drivers use Info to access RSC information. Info is a structure with the following members:
Info.CoalescedSegCount
The number of coalesced segments in the NET_BUFFER_LIST structure. For non-RSC packets this member must be set to zero. Drivers can access this member with the NET_BUFFER_LIST_COALESCED_SEG_COUNT macro.
Info.DupAckCount
The number of duplicate ACKs that were encountered while forming the NET_BUFFER_LIST structure. DupAckCount should be non-zero only if CoalescedSegCount is not zero. Drivers can access this member with the NET_BUFFER_LIST_DUP_ACK_COUNT macro.
Value
A member in the union that is contained in NDIS_RSC_NBL_INFO. Drivers use Value to access the RSC information as a single PVOID.
Remarks
To access receive segment coalescing (RSC) counter information that is associated with a NET_BUFFER_LIST structure, an NDIS driver calls the NET_BUFFER_LIST_INFO macro and specifies the TcpRecvSegCoalesceInfo information type which is in an NDIS_RSC_NBL_INFO union.
To access RSC timestamp information that is associated with a NET_BUFFER_LIST structure, an NDIS driver calls the NET_BUFFER_LIST_INFO macro and specifies the RscTcpTimestampDelta information type which is a single ULONG value.
The NET_BUFFER_LIST structure of a single coalesced unit (SCU) is not different from the standard NET_BUFFER_LIST structure that is indicated on the receive path without RSC. The SCU resembles an IP jumbogram packet that came from the wire. Therefore, every indicated SCU must have one NET_BUFFER structure for each NET_BUFFER_LIST.
The NET_BUFFER can be an MDL chain and the MDL can have a total size that exceeds the normal maximum transmission unit (MTU) but must be limited by the maximum legal IP datagram length, see RFC791 section 3.1.
Also, the additional NET_BUFFER_LIST information can be provided for an SCU. NDIS performs the NET_BUFFER_LIST and NET_BUFFER validation. The host TCPIP stack performs packet checks including IP and TCP header validation.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported for NDIS 6.30 and later drivers in Windows 8. |
Header | ndis/nblrsc.h (include ndis.h) |