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)
commitd5949d92c29ce147a9cb9e21fcf8ad7c1ff327b1
treefc97d3d1fe174a4746289e54ac6208eb96985728
parent7052e2436373cc2c46981e165d1cbc5023f20dd7
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 e83c045e53d7 ("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: fe099bf682ab ("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