• Or Gerlitz's avatar
    IB/mlx4: Fix SL to 802.1Q priority-bits mapping for IBoE · 9106c410
    Or Gerlitz authored
    For IBoE, SLs 0-7 are mapped to Ethernet 802.1Q user priority bits
    (pbits) which are part of the VLAN tag, SLs 8-15 are reserved.
    
    Under Ethernet, the ConnectX firmware treats (decode/encode) the four
    bit SL field in various constructs such as QPC / UD WQE / CQE as PPP0
    and not as 0PPP. This correlates well to the fact that within the
    vlan tag the pbits are located in bits 15-13 and not 12-14.
    
    The current code wasn't consistent around that area - the
    encoding was correct for the IBoE QPC.path.schedule_queue field,
    but was wrong for IBoE CQEs and when MLX header was built.
    
    These inconsistencies resulted in wrong SL <--> wire 802.1Q pbits
    mapping, which is fixed by using SL <--> PPP0 all around the place.
    Signed-off-by: default avatarOren Duer <oren@mellanox.co.il>
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    9106c410
qp.c 59.9 KB