mlxsw: core: Add API to set trap action
Up until now the action of a trap was never changed during its lifetime. This is going to change by subsequent patches that will allow devlink to control the action of certain traps. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8c40f3b212
commit
b7bf027087
|
@ -1477,6 +1477,18 @@ void mlxsw_core_trap_unregister(struct mlxsw_core *mlxsw_core,
|
|||
}
|
||||
EXPORT_SYMBOL(mlxsw_core_trap_unregister);
|
||||
|
||||
int mlxsw_core_trap_action_set(struct mlxsw_core *mlxsw_core,
|
||||
const struct mlxsw_listener *listener,
|
||||
enum mlxsw_reg_hpkt_action action)
|
||||
{
|
||||
char hpkt_pl[MLXSW_REG_HPKT_LEN];
|
||||
|
||||
mlxsw_reg_hpkt_pack(hpkt_pl, action, listener->trap_id,
|
||||
listener->trap_group, listener->is_ctrl);
|
||||
return mlxsw_reg_write(mlxsw_core, MLXSW_REG(hpkt), hpkt_pl);
|
||||
}
|
||||
EXPORT_SYMBOL(mlxsw_core_trap_action_set);
|
||||
|
||||
static u64 mlxsw_core_tid_get(struct mlxsw_core *mlxsw_core)
|
||||
{
|
||||
return atomic64_inc_return(&mlxsw_core->emad.tid);
|
||||
|
|
|
@ -128,6 +128,9 @@ int mlxsw_core_trap_register(struct mlxsw_core *mlxsw_core,
|
|||
void mlxsw_core_trap_unregister(struct mlxsw_core *mlxsw_core,
|
||||
const struct mlxsw_listener *listener,
|
||||
void *priv);
|
||||
int mlxsw_core_trap_action_set(struct mlxsw_core *mlxsw_core,
|
||||
const struct mlxsw_listener *listener,
|
||||
enum mlxsw_reg_hpkt_action action);
|
||||
|
||||
typedef void mlxsw_reg_trans_cb_t(struct mlxsw_core *mlxsw_core, char *payload,
|
||||
size_t payload_len, unsigned long cb_priv);
|
||||
|
|
Loading…
Reference in New Issue