mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-04 01:20:01 -04:00
mlxsw: spectrum_router: Prepare for nexthops with trap action
Nexthops that need to be programmed with a trap action might not have a valid router interface (RIF) associated with them. Therefore, use the loopback RIF created during initialization to program them to the device. Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Petr Machata <petrm@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
031d5c1606
commit
1be2361e3c
@@ -3411,10 +3411,13 @@ static int __mlxsw_sp_nexthop_update(struct mlxsw_sp *mlxsw_sp, u32 adj_index,
|
||||
{
|
||||
struct mlxsw_sp_neigh_entry *neigh_entry = nh->neigh_entry;
|
||||
char ratr_pl[MLXSW_REG_RATR_LEN];
|
||||
u16 rif_index;
|
||||
|
||||
rif_index = nh->rif ? nh->rif->rif_index :
|
||||
mlxsw_sp->router->lb_rif_index;
|
||||
mlxsw_reg_ratr_pack(ratr_pl, MLXSW_REG_RATR_OP_WRITE_WRITE_ENTRY,
|
||||
true, MLXSW_REG_RATR_TYPE_ETHERNET,
|
||||
adj_index, nh->rif->rif_index);
|
||||
adj_index, rif_index);
|
||||
if (nh->action == MLXSW_SP_NEXTHOP_ACTION_DISCARD)
|
||||
mlxsw_reg_ratr_trap_action_set(ratr_pl,
|
||||
MLXSW_REG_RATR_TRAP_ACTION_DISCARD_ERRORS);
|
||||
|
||||
Reference in New Issue
Block a user