beautypg.com

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

background image

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.