User Manual
Driver FeaturesRev 2.2-1.0.1
Mellanox Technologies
88
4. The UP is mapped to the TC as configured by the mlnx_qos tool or by the lldpad daemon if
DCBX is used.
With RoCE, there can only be 4 predefined ToS values for the purpose of QoS mapping.
4.6.5 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
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.
4.6.6 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
• When the user uses
sk_prio, it is mapped into a UP by the ‘tc’ tool. This is done by the
tc_wrap.py tool which gets a list of <= 16 comma separated UP and maps the sk_prio to
the specified UP.
For example,
tc_wrap.py -ieth0 -u 1,5 maps sk_prio 0 of eth0 device to UP 1 and
sk_prio 1 to UP 5.
• Setting
set_egress_map in VLAN, maps the skb_priority of the VLAN to a vlan_qos.
The
vlan_qos is represents a UP for the VLAN device.
• In RoCE,
rdma_set_option with RDMA_OPTION_ID_TOS could be used to set the UP
• When creating QPs, the
sl field in ibv_modify_qp command represents the UP
• Indicating the TC
• After mapping the
skb_priority to UP, one should map the UP into a TC. This assigns
the user priority to a specific hardware traffic class. In order to do that,
mlnx_qos should