mlxsw: core: Expose generic macros for rx trap
In Spectrum, there is a macro to arrange the traps list. This macro is useful for everyone who is using rx traps. Create a similar macro in core.h for creating the generic listener struct for rx traps. Signed-off-by: Nogah Frankel <nogahf@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
0791051c43
commit
b63da93de8
@ -101,6 +101,20 @@ struct mlxsw_listener {
|
|||||||
bool is_event;
|
bool is_event;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define MLXSW_RXL(_func, _trap_id, _action, _unreg_action) \
|
||||||
|
{ \
|
||||||
|
.trap_id = MLXSW_TRAP_ID_##_trap_id, \
|
||||||
|
.u.rx_listener = \
|
||||||
|
{ \
|
||||||
|
.func = _func, \
|
||||||
|
.local_port = MLXSW_PORT_DONT_CARE, \
|
||||||
|
.trap_id = MLXSW_TRAP_ID_##_trap_id, \
|
||||||
|
}, \
|
||||||
|
.action = MLXSW_REG_HPKT_ACTION_##_action, \
|
||||||
|
.unreg_action = MLXSW_REG_HPKT_ACTION_##_unreg_action, \
|
||||||
|
.is_event = false, \
|
||||||
|
}
|
||||||
|
|
||||||
int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core,
|
int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core,
|
||||||
const struct mlxsw_rx_listener *rxl,
|
const struct mlxsw_rx_listener *rxl,
|
||||||
void *priv);
|
void *priv);
|
||||||
|
Reference in New Issue
Block a user