mlxsw: acl_flex_actions: Trap all ACL dropped packets to DISCARD_*_ACL traps
Introduce a new set of traps: DISCARD_INGRESS_ACL and DISCARD_EGRESS_ACL Set the trap_action from NOP to TRAP which causes the packets dropped by the TRAP action to be trapped under new trap IDs, depending on the ingress/egress binding point. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3128f3a150
commit
3e6cacaf51
@ -820,8 +820,10 @@ int mlxsw_afa_block_append_drop(struct mlxsw_afa_block *block, bool ingress)
|
||||
|
||||
if (IS_ERR(act))
|
||||
return PTR_ERR(act);
|
||||
mlxsw_afa_trap_pack(act, MLXSW_AFA_TRAP_TRAP_ACTION_NOP,
|
||||
MLXSW_AFA_TRAP_FORWARD_ACTION_DISCARD, 0);
|
||||
mlxsw_afa_trap_pack(act, MLXSW_AFA_TRAP_TRAP_ACTION_TRAP,
|
||||
MLXSW_AFA_TRAP_FORWARD_ACTION_DISCARD,
|
||||
ingress ? MLXSW_TRAP_ID_DISCARD_INGRESS_ACL :
|
||||
MLXSW_TRAP_ID_DISCARD_EGRESS_ACL);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(mlxsw_afa_block_append_drop);
|
||||
|
@ -102,6 +102,8 @@ enum {
|
||||
MLXSW_TRAP_ID_ACL1 = 0x1C1,
|
||||
/* Multicast trap used for routes with trap-and-forward action */
|
||||
MLXSW_TRAP_ID_ACL2 = 0x1C2,
|
||||
MLXSW_TRAP_ID_DISCARD_INGRESS_ACL = 0x1C3,
|
||||
MLXSW_TRAP_ID_DISCARD_EGRESS_ACL = 0x1C4,
|
||||
|
||||
MLXSW_TRAP_ID_MAX = 0x1FF
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user