]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'mlxsw-Enable-MC-aware-mode-for-mlxsw-ports'
authorDavid S. Miller <davem@davemloft.net>
Mon, 6 Aug 2018 00:28:22 +0000 (17:28 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Aug 2018 00:28:22 +0000 (17:28 -0700)
commitb56cf1211af7d4dd5f4842c9e5701bdd32984dd6
treec191db40b820235e7cd6708608bc1de6949cdd33
parent7c8a01f145e4456f978d866606bde24204f46c71
parent5a5bc736ee39de4e761e9fb104d550a2b88717c5
Merge branch 'mlxsw-Enable-MC-aware-mode-for-mlxsw-ports'

Ido Schimmel says:

====================
mlxsw: Enable MC-aware mode for mlxsw ports

Petr says:

Due to an issue in Spectrum chips, when unicast traffic shares the same
queue as BUM traffic, and there is a congestion, the BUM traffic is
admitted to the queue anyway, thus pushing out all UC traffic. In order
to give unicast traffic precedence over BUM traffic, configure
multicast-aware mode on all ports.

Under multicast-aware regime, when assigning traffic class to a packet,
the switch doesn't merely take the value prescribed by the QTCT
register. For BUM traffic, it instead assigns that value plus 8. That
limits the number of available TCs, but since mlxsw currently only uses
the lower eight anyway, it is no real loss.

The two TCs (UC and MC one) are then mapped to the same subgroup and
strictly prioritized so that UC traffic is preferred in case of
congestion.

In patch #1, introduce a new register, QTCTM, which enables the
multicast-aware mode.

In patch #2, fix a typo in related code.

In patch #3, set up TCs and QTCTM to enable multicast-aware mode.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>