3 roce quality of service mapping, 4 raw ethernet qp quality of service mapping, 5 map priorities with tc_wrap.py/mlnx_qos – Dell Mellanox Family of Adapters User Manual
Page 27

User Manual for Mellanox ConnectX®-3 10/40 Gigabit Ethernet Adapters for Dell PowerEdge Servers
Rev 1.1
Mellanox Technologies
27
4.2.3.3 RoCE Quality of Service Mapping
Applications use RDMA-CM API to create and use QPs.
The following is the RoCE QoS mapping flow:
1. The application sets the ToS of the QP using the
rdma_set_option
option
(
RDMA_OPTION_ID_TOS
, value).
2. ToS is translated into the Socket Priority (
sk_prio
) using a fixed translation:
3. The Socket Priority is mapped to the User Priority (UP) using the
tc
command.
In case of a VLAN device, the parent real device is used for the purpose of this mapping.
4. The the UP is mapped to the TC as configured by the
mlnx_qos
tool or by the
lldpad
daemon
if DCBX is used.
4.2.3.4 Raw Ethernet QP Quality of Service Mapping
Applications open a Raw Ethernet QP using VERBs directly.
The following is the RoCE QoS mapping flow:
1. The application sets the UP of the Raw Ethernet QP during the INIT to RTR state transition of
the QP:
•
Sets
qp_attrs.ah_attrs.sl = up
•
Calls
modify_qp
with
IB_QP_AV
set in the mask
2. The UP is mapped to the TC as configured by the
mlnx_qos
tool or by the
lldpad
daemon if
DCBX is used
4.2.3.5 Map Priorities with tc_wrap.py/mlnx_qos
Network flow that can be managed by QoS attributes is described by a User Priority (UP). A
user's
sk_prio
is mapped to UP which in turn is mapped into TC.
•
Indicating the UP
TOS 0 <=> sk_prio 0
TOS 8 <=> sk_prio 2
TOS 24 <=> sk_prio 4
TOS 16 <=> sk_prio 6
With RoCE, there can only be 4 predefined ToS values for the purpose of QoS mapping.
When using Raw Ethernet QP mapping, the TOS/sk_prio to UP mapping is lost.
Performing the Raw Ethernet QP mapping forces the QP to transmit using the given UP.
If packets with VLAN tag are transmitted, UP in the VLAN tag will be overwritten with
the given UP.