User Manual
Rev 4.70
Mellanox Technologies
56
8.9.1 Setting the DSCP in the IP Header
Marking DSCP value in the IP header is done differently for IP packets constructed by the NIC
(e.g. RDMA traffic) and for packets constructed by the IP stack (e.g. TCP traffic).
• For IP packets generated by the IP stack, the DSCP value is provided by the IP stack.
The NIC does not validate the match between DSCP and Class of Service (CoS) values.
CoS and DSCP values are expected to be set through standard tools, such as PowerShell
command New-NetQosPolicy using PriorityV
alue8021Action and DSCPAction flags
respectively.
• For IP packets generated by the NIC (RDMA), the DSCP value is generated according
to the CoS value programmed for the interface. CoS value is set through standard tools,
such as PowerShell command New-NetQosPolicy using PriorityV
alue8021Action flag.
The NIC uses a mapping table between the CoS value and the DSCP value configured
through the RroceDscpMarkPriorityFlow- Control[0-7] Registry keys
8.9.2 Configuring Quality of Service for TCP and RDMA Traffic
Step 1. Verify that DCB is installed and enabled (is not installed by default).
Step 2. Import the PowerShell modules that are required to configure DCB.
Step 3. Configure DCB.
Step 4. Enable Network Adapter QoS.
Step 5. Enable Priority Flow Control (PFC) on the specific priority 3,5.
8.9.3 Configuring DSCP for TCP Traffic
• Create a QoS policy to tag All TCP/UDP traffic with CoS value 1 and DSCP value 9.
$ New-NetQosPolicy "DEFAULT" -PriorityValue8021Action 3 -DSCPAction 9
DSCP can also be configured per protocol.
8.9.4 Configuring DSCP for RDMA Traffic
• Create a QoS policy to tag the ND traffic for port 10000 with CoS value 3.
$ New-NetQosPolicy "ND10000" -NetDirectPortMatchCondition 10000 - PriorityValue8021Action 3
Related Commands:
• Get-NetAdapterQos - Gets the QoS properties of the network adapter
• Get-NetQosPolicy - Retrieves network QoS policies
• Get-NetQosFlowControl - Gets QoS status per priority
$ Install-WindowsFeature Data-Center-Bridging
$ import-module NetQos
$ import-module DcbQos
$ import-module NetAdapter
$ Set-NetQosDcbxSetting -Willing 0
$ Set-NetAdapterQos -Name "Cx3Pro_ETH_P1" -Enabled 1
$ Enable-NetQosFlowControl 3,5
$ New-NetQosPolicy "TCP" -IPProtocolMatchCondition TCP -PriorityValue8021Action 3 -DSCPAction 16
$ New-NetQosPolicy "UDP" -IPProtocolMatchCondition UDP -PriorityValue8021Action 3 -DSCPAction 32