mlxsw: spectrum: Export RALUE pack helper and use it from IPIP

As the RALUE packing is going to be put into op, make the user from
IPIP code use the same helper as the router code does.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jiri Pirko
2020-11-10 11:48:51 +02:00
committed by Jakub Kicinski
parent 0f6b66011a
commit d271cf9f29
3 changed files with 8 additions and 16 deletions

View File

@@ -188,22 +188,9 @@ mlxsw_sp_ipip_fib_entry_op_gre4_ralue(struct mlxsw_sp *mlxsw_sp,
u32 tunnel_index)
{
char *ralue_pl = op_ctx->ralue_pl;
enum mlxsw_reg_ralue_op ralue_op;
switch (op) {
case MLXSW_SP_FIB_ENTRY_OP_WRITE:
ralue_op = MLXSW_REG_RALUE_OP_WRITE_WRITE;
break;
case MLXSW_SP_FIB_ENTRY_OP_DELETE:
ralue_op = MLXSW_REG_RALUE_OP_WRITE_DELETE;
break;
default:
WARN_ON_ONCE(1);
return -EINVAL;
}
mlxsw_reg_ralue_pack4(ralue_pl, MLXSW_REG_RALXX_PROTOCOL_IPV4, ralue_op,
ul_vr_id, prefix_len, dip);
mlxsw_sp_fib_entry_ralue_pack(ralue_pl, MLXSW_SP_L3_PROTO_IPV4, op,
ul_vr_id, prefix_len, (unsigned char *) &dip);
mlxsw_reg_ralue_act_ip2me_tun_pack(ralue_pl, tunnel_index);
return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(ralue), ralue_pl);
}

View File

@@ -4307,7 +4307,7 @@ mlxsw_sp_fib_entry_hw_flags_refresh(struct mlxsw_sp *mlxsw_sp,
}
}
static void
void
mlxsw_sp_fib_entry_ralue_pack(char *ralue_pl, enum mlxsw_sp_l3proto proto,
enum mlxsw_sp_fib_entry_op op, u16 virtual_router,
u8 prefix_len, unsigned char *addr)

View File

@@ -173,4 +173,9 @@ static inline bool mlxsw_sp_l3addr_eq(const union mlxsw_sp_l3addr *addr1,
int mlxsw_sp_ipip_ecn_encap_init(struct mlxsw_sp *mlxsw_sp);
int mlxsw_sp_ipip_ecn_decap_init(struct mlxsw_sp *mlxsw_sp);
void
mlxsw_sp_fib_entry_ralue_pack(char *ralue_pl, enum mlxsw_sp_l3proto proto,
enum mlxsw_sp_fib_entry_op op, u16 virtual_router,
u8 prefix_len, unsigned char *addr);
#endif /* _MLXSW_ROUTER_H_*/