diff options
author | Petr Machata <petrm@nvidia.com> | 2021-10-10 14:40:16 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-10-12 11:19:35 +0100 |
commit | 9c18eaf2882d96f877bbfea795a9f5cdf63ac2ce (patch) | |
tree | 239adc1533f7d7e726e6a0d366ecc0532b669571 /drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c | |
parent | 099bf89d6a35086eee868f8357fb9d84a895b3c6 (diff) | |
download | linux-9c18eaf2882d96f877bbfea795a9f5cdf63ac2ce.tar.bz2 |
mlxsw: spectrum_qdisc: Offload RED qevent mark
The RED "mark" qevent can be offloaded under similar conditions as the RED
"early_drop" qevent. Therefore recognize its binding type in the
TC_SETUP_BLOCK handler and translate to the right SPAN trigger, with the
right set of supported actions.
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c index 2dfc9e38307d..e367c63e72bf 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c @@ -2024,6 +2024,16 @@ int mlxsw_sp_setup_tc_block_qevent_early_drop(struct mlxsw_sp_port *mlxsw_sp_por action_mask); } +int mlxsw_sp_setup_tc_block_qevent_mark(struct mlxsw_sp_port *mlxsw_sp_port, + struct flow_block_offload *f) +{ + unsigned int action_mask = BIT(MLXSW_SP_MALL_ACTION_TYPE_MIRROR); + + return mlxsw_sp_setup_tc_block_qevent(mlxsw_sp_port, f, + MLXSW_SP_SPAN_TRIGGER_ECN, + action_mask); +} + int mlxsw_sp_tc_qdisc_init(struct mlxsw_sp_port *mlxsw_sp_port) { struct mlxsw_sp_qdisc_state *qdisc_state; |