mlxsw: spectrum: Allow packets to be trapped from any PG
When packets enter the device they are classified to a priority group (PG) buffer based on their PCP value. After their egress port and traffic class are determined they are moved to the switch's shared buffer and await transmission, if: (Ingress{Port}.Usage < Thres && Ingress{Port,PG}.Usage < Thres && Egress{Port}.Usage < Thres && Egress{Port,TC}.Usage < Thres) || (Ingress{Port}.Usage < Min || Ingress{Port,PG} < Min || Egress{Port}.Usage < Min || Egress{Port,TC}.Usage < Min) Packets scheduled to transmission through CPU port (trapped to CPU) use traffic class 7, which has a zero maximum and minimum quotas. However, when such packets arrive from PG 0 they are admitted to the shared buffer as PG 0 has a non-zero minimum quota. Allow all packets to be trapped to the CPU - regardless of the PG they were classified to - by assigning a 10KB minimum quota for CPU port and TC7. Fixes: 8e8dfe9fdf06 ("mlxsw: spectrum: Add IEEE 802.1Qaz ETS support") Reported-by: Tamir Winetroub <tamirw@mellanox.com> Tested-by: Tamir Winetroub <tamirw@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8168287b5d
commit
9ffcc3725f
@ -330,7 +330,7 @@ static const struct mlxsw_sp_sb_cm mlxsw_sp_cpu_port_sb_cms[] = {
|
|||||||
MLXSW_SP_CPU_PORT_SB_CM,
|
MLXSW_SP_CPU_PORT_SB_CM,
|
||||||
MLXSW_SP_CPU_PORT_SB_CM,
|
MLXSW_SP_CPU_PORT_SB_CM,
|
||||||
MLXSW_SP_CPU_PORT_SB_CM,
|
MLXSW_SP_CPU_PORT_SB_CM,
|
||||||
MLXSW_SP_CPU_PORT_SB_CM,
|
MLXSW_SP_SB_CM(MLXSW_SP_BYTES_TO_CELLS(10000), 0, 0),
|
||||||
MLXSW_SP_CPU_PORT_SB_CM,
|
MLXSW_SP_CPU_PORT_SB_CM,
|
||||||
MLXSW_SP_CPU_PORT_SB_CM,
|
MLXSW_SP_CPU_PORT_SB_CM,
|
||||||
MLXSW_SP_CPU_PORT_SB_CM,
|
MLXSW_SP_CPU_PORT_SB_CM,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user