mlxsw: spectrum: Put MC TCs into DWRR mode
authorPetr Machata <petrm@mellanox.com>
Thu, 18 Apr 2019 07:14:13 +0000 (07:14 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Apr 2019 17:37:30 +0000 (10:37 -0700)
commitf476b3f809fa02f47af6333ed63715058c3fc348
treefb219336c9f88548fa3503ba61a367ed28ac7136
parent27b141fc234a3670d21bd742c35d7205d03cbb3a
mlxsw: spectrum: Put MC TCs into DWRR mode

Both Spectrum-1 and Spectrum-2 chips are currently configured such that
pairs of TC n (which is used for UC traffic) and TC n+8 (which is used
for MC traffic) are feeding into the same subgroup. Strict
prioritization is configured between the two TCs, and by enabling
MC-aware mode on the switch, the lower-numbered (UC) TCs are favored
over the higher-numbered (MC) TCs.

On Spectrum-2 however, there is an issue in configuration of the
MC-aware mode. As a result, MC traffic is prioritized over UC traffic.
To work around the issue, configure the MC TCs with DWRR mode (while
keeping the UC TCs in strict mode).

With this patch, the multicast-unicast arbitration results in the same
behavior on both Spectrum-1 and Spectrum-2 chips.

Fixes: 7b8195306694 ("mlxsw: spectrum: Configure MC-aware mode on mlxsw ports")
Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum.c