• Ido Schimmel's avatar
    mlxsw: spectrum_buffers: Add a multicast pool for Spectrum-2 · d5949d92
    Ido Schimmel authored
    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 e83c045e ("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: fe099bf6 ("mlxsw: spectrum_buffers: Add Spectrum-2 shared buffer configuration")
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Reviewed-by: default avatarPetr Machata <petrm@mellanox.com>
    Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d5949d92
spectrum_buffers.c 34.5 KB