NDIS QoS Traffic Classifications

NDIS Quality of Service (QoS) classifies transmit, or egress, packets for prioritized delivery by the network adapter. Each traffic classification specifies the following:

  • A classification condition that is based on a data pattern within the egress packet data.

    Starting with NDIS 6.30, classification conditions are based on a 16-bit value, such as a UDP or TCP destination port or a media access control (MAC) EtherType.

  • A classification action that defines the traffic class to be used to handle the egress packet.

    Starting with NDIS 6.30, classification actions specify an 802.1p priority level.

Note  Traffic classifications are also known as "application priorities" in the IEEE 802.1 specifications.

NDIS QoS traffic classifications are intended for the following types of egress packet traffic:

  • Packets based on traffic that is offloaded to the miniport driver, such as Fibre Channel over Ethernet (FCoE) or iSCSI packets.

  • Packets based on connections that are managed and enforced by the miniport driver, such as RDMA.

Because NDIS QoS traffic classifications are not intended for TCP/IP traffic generated by the operating system, the miniport driver does not need to perform packet inspection. Instead, if a classification condition matches a packet type that has been offloaded or managed by the driver, it can simply apply the classification action to all packets that belong to that type. For example, if the miniport driver is enabled for FCoE offloads and the classification condition specifies the iSCSI TCP port number (860 or 3260), the driver prioritizes all egress iSCSI packets with the priority level defined for the classification action.

The DCB component (Msdcb.sys) specifies traffic classifications through OID method requests of OID_QOS_PARAMETERS. This OID request contains an NDIS_QOS_PARAMETERS structure that specifies an array of NDIS_QOS_CLASSIFICATION_ELEMENT structures. Each of these structures defines a traffic classification.

The DCB component specifies a default traffic classification that is applied to all egress packets that do not match other classification conditions. In this case, the network adapter assigns the IEEE 802.1p priority level that is associated with the default classification to these egress packets. The default traffic classification has the following attributes:

  • It has a traffic classification condition of type NDIS_QOS_CONDITION_DEFAULT.

  • It is the first traffic classification defined in the array of NDIS_QOS_CLASSIFICATION_ELEMENT structures.

For more information on the DCB component, see NDIS QoS Architecture for Data Center Bridging.