]> git.baikalelectronics.ru Git - kernel.git/commit
mlxsw: spectrum_buffers: Add a multicast pool for Spectrum-2
authorIdo Schimmel <idosch@mellanox.com>
Wed, 10 Apr 2019 06:58:17 +0000 (06:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Apr 2019 18:57:08 +0000 (11:57 -0700)
commitf0d760fba273ff256d7f4229af757d381dedcb79
treefc97d3d1fe174a4746289e54ac6208eb96985728
parenta2b3e31aac4f3dbdf6e7eb3763d615c4f18399ac
mlxsw: spectrum_buffers: Add a multicast pool for Spectrum-2

In Spectrum-1, when a multicast packet is admitted to the shared buffer
it increases the quotas of all the ports and {port, TC} to which it is
forwarded to.

The above means that multicast packets are accounted multiple times in
the shared buffer and can therefore cause the associated shared buffer
pool to fill up very quickly.

To work around this issue, commit 095024a45c1f ("mlxsw:
spectrum_buffers: Configure MC pool") added a dedicated multicast pool
in which multicast packets are accounted.

The issue is not present in Spectrum-2, but in order to be backward
compatible with Spectrum-1, its default behavior is to allow a multicast
packet to increase multiple egress quotas instead of one.

Until the new (non-backward compatible) mode is supported, configure a
dedicated multicast pool as in Spectrum-1.

Fixes: 29c2719502d8 ("mlxsw: spectrum_buffers: Add Spectrum-2 shared buffer configuration")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Petr Machata <petrm@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c