From: Petr Machata <pe...@nvidia.com> Register with devlink a new buffer drop trap, ecn_mark. Since Spectrum-1 does not support the ecn_mark trap, do it only for Spectrum-2 and above.
Reviewed-by: Jiri Pirko <j...@nvidia.com> Signed-off-by: Petr Machata <pe...@nvidia.com> Signed-off-by: Ido Schimmel <ido...@nvidia.com> --- drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c index 4ef12e3e021a..45cf6c027cac 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c @@ -51,6 +51,8 @@ enum { enum { /* Packet was early dropped. */ MLXSW_SP_MIRROR_REASON_INGRESS_WRED = 9, + /* Packet was ECN marked. */ + MLXSW_SP_MIRROR_REASON_EGRESS_ECN = 13, }; static int mlxsw_sp_rx_listener(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb, @@ -1760,6 +1762,13 @@ mlxsw_sp2_trap_items_arr[] = { }, .is_source = true, }, + { + .trap = MLXSW_SP_TRAP_BUFFER_DROP(ECN_MARK), + .listeners_arr = { + MLXSW_SP_RXL_BUFFER_DISCARD(EGRESS_ECN), + }, + .is_source = true, + }, }; static int -- 2.29.2