Commit 7ee0db9d authored by Ido Schimmel's avatar Ido Schimmel Committed by David S. Miller

mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3}

On the Spectrum-{2,3} ASICs the minimum burst size of the packet trap
policers needs to be 40% of the configured rate. Otherwise, intermittent
drops are observed even when the incoming packet rate is slightly lower
than the configured policer rate.

Adjust the burst size of the registered packet trap policers so that
they do not violate above mentioned limitation.
Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
Reviewed-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 85eb5bc3
...@@ -291,7 +291,7 @@ static void mlxsw_sp_rx_sample_listener(struct sk_buff *skb, u8 local_port, ...@@ -291,7 +291,7 @@ static void mlxsw_sp_rx_sample_listener(struct sk_buff *skb, u8 local_port,
static const struct mlxsw_sp_trap_policer_item static const struct mlxsw_sp_trap_policer_item
mlxsw_sp_trap_policer_items_arr[] = { mlxsw_sp_trap_policer_items_arr[] = {
{ {
.policer = MLXSW_SP_TRAP_POLICER(1, 10 * 1024, 128), .policer = MLXSW_SP_TRAP_POLICER(1, 10 * 1024, 4096),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(2, 128, 128), .policer = MLXSW_SP_TRAP_POLICER(2, 128, 128),
...@@ -303,25 +303,25 @@ mlxsw_sp_trap_policer_items_arr[] = { ...@@ -303,25 +303,25 @@ mlxsw_sp_trap_policer_items_arr[] = {
.policer = MLXSW_SP_TRAP_POLICER(4, 128, 128), .policer = MLXSW_SP_TRAP_POLICER(4, 128, 128),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(5, 16 * 1024, 128), .policer = MLXSW_SP_TRAP_POLICER(5, 16 * 1024, 8192),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(6, 128, 128), .policer = MLXSW_SP_TRAP_POLICER(6, 128, 128),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(7, 1024, 128), .policer = MLXSW_SP_TRAP_POLICER(7, 1024, 512),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(8, 20 * 1024, 1024), .policer = MLXSW_SP_TRAP_POLICER(8, 20 * 1024, 8192),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(9, 128, 128), .policer = MLXSW_SP_TRAP_POLICER(9, 128, 128),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(10, 1024, 128), .policer = MLXSW_SP_TRAP_POLICER(10, 1024, 512),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(11, 360, 128), .policer = MLXSW_SP_TRAP_POLICER(11, 256, 128),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(12, 128, 128), .policer = MLXSW_SP_TRAP_POLICER(12, 128, 128),
...@@ -330,19 +330,19 @@ mlxsw_sp_trap_policer_items_arr[] = { ...@@ -330,19 +330,19 @@ mlxsw_sp_trap_policer_items_arr[] = {
.policer = MLXSW_SP_TRAP_POLICER(13, 128, 128), .policer = MLXSW_SP_TRAP_POLICER(13, 128, 128),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(14, 1024, 128), .policer = MLXSW_SP_TRAP_POLICER(14, 1024, 512),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(15, 1024, 128), .policer = MLXSW_SP_TRAP_POLICER(15, 1024, 512),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(16, 24 * 1024, 4096), .policer = MLXSW_SP_TRAP_POLICER(16, 24 * 1024, 16384),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(17, 19 * 1024, 4096), .policer = MLXSW_SP_TRAP_POLICER(17, 19 * 1024, 8192),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(18, 1024, 128), .policer = MLXSW_SP_TRAP_POLICER(18, 1024, 512),
}, },
{ {
.policer = MLXSW_SP_TRAP_POLICER(19, 1024, 512), .policer = MLXSW_SP_TRAP_POLICER(19, 1024, 512),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment