mlxsw: Revert "Prepare for XM implementation - prefix insertion and removal"
This reverts commit e7086213f7b4 ("Merge branch 'mlxsw-spectrum-prepare-for-xm-implementation-prefix-insertion-and-removal'"). Signed-off-by: Petr Machata <petrm@nvidia.com> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
6a4b02b8fa
commit
725ff53204
@ -7848,11 +7848,10 @@ static inline void mlxsw_reg_ralue_pack4(char *payload,
|
||||
enum mlxsw_reg_ralxx_protocol protocol,
|
||||
enum mlxsw_reg_ralue_op op,
|
||||
u16 virtual_router, u8 prefix_len,
|
||||
u32 *dip)
|
||||
u32 dip)
|
||||
{
|
||||
mlxsw_reg_ralue_pack(payload, protocol, op, virtual_router, prefix_len);
|
||||
if (dip)
|
||||
mlxsw_reg_ralue_dip4_set(payload, *dip);
|
||||
mlxsw_reg_ralue_dip4_set(payload, dip);
|
||||
}
|
||||
|
||||
static inline void mlxsw_reg_ralue_pack6(char *payload,
|
||||
@ -7862,8 +7861,7 @@ static inline void mlxsw_reg_ralue_pack6(char *payload,
|
||||
const void *dip)
|
||||
{
|
||||
mlxsw_reg_ralue_pack(payload, protocol, op, virtual_router, prefix_len);
|
||||
if (dip)
|
||||
mlxsw_reg_ralue_dip6_memcpy_to(payload, dip);
|
||||
mlxsw_reg_ralue_dip6_memcpy_to(payload, dip);
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -15,26 +15,6 @@ struct mlxsw_sp_router_nve_decap {
|
||||
u8 valid:1;
|
||||
};
|
||||
|
||||
struct mlxsw_sp_fib_entry_op_ctx {
|
||||
u8 bulk_ok:1, /* Indicate to the low-level op it is ok to bulk
|
||||
* the actual entry with the one that is the next
|
||||
* in queue.
|
||||
*/
|
||||
initialized:1; /* Bit that the low-level op sets in case
|
||||
* the context priv is initialized.
|
||||
*/
|
||||
struct list_head fib_entry_priv_list;
|
||||
unsigned long ll_priv[];
|
||||
};
|
||||
|
||||
static inline void
|
||||
mlxsw_sp_fib_entry_op_ctx_clear(struct mlxsw_sp_fib_entry_op_ctx *op_ctx)
|
||||
{
|
||||
WARN_ON_ONCE(!list_empty(&op_ctx->fib_entry_priv_list));
|
||||
memset(op_ctx, 0, sizeof(*op_ctx));
|
||||
INIT_LIST_HEAD(&op_ctx->fib_entry_priv_list);
|
||||
}
|
||||
|
||||
struct mlxsw_sp_router {
|
||||
struct mlxsw_sp *mlxsw_sp;
|
||||
struct mlxsw_sp_rif **rifs;
|
||||
@ -71,9 +51,6 @@ struct mlxsw_sp_router {
|
||||
const struct mlxsw_sp_ipip_ops **ipip_ops_arr;
|
||||
struct mlxsw_sp_router_nve_decap nve_decap_config;
|
||||
struct mutex lock; /* Protects shared router resources */
|
||||
struct work_struct fib_event_work;
|
||||
struct list_head fib_event_queue;
|
||||
spinlock_t fib_event_queue_lock; /* Protects fib event queue list */
|
||||
/* One set of ops for each protocol: IPv4 and IPv6 */
|
||||
const struct mlxsw_sp_router_ll_ops *proto_ll_ops[MLXSW_SP_L3_PROTO_MAX];
|
||||
struct mlxsw_sp_fib_entry_op_ctx *ll_op_ctx;
|
||||
@ -87,18 +64,6 @@ struct mlxsw_sp_router {
|
||||
u32 adj_trap_index;
|
||||
};
|
||||
|
||||
struct mlxsw_sp_fib_entry_priv {
|
||||
refcount_t refcnt;
|
||||
struct list_head list; /* Member in op_ctx->fib_entry_priv_list */
|
||||
unsigned long priv[];
|
||||
};
|
||||
|
||||
enum mlxsw_sp_fib_entry_op {
|
||||
MLXSW_SP_FIB_ENTRY_OP_WRITE,
|
||||
MLXSW_SP_FIB_ENTRY_OP_UPDATE,
|
||||
MLXSW_SP_FIB_ENTRY_OP_DELETE,
|
||||
};
|
||||
|
||||
/* Low-level router ops. Basically this is to handle the different
|
||||
* register sets to work with ordinary and XM trees and FIB entries.
|
||||
*/
|
||||
@ -106,25 +71,6 @@ struct mlxsw_sp_router_ll_ops {
|
||||
int (*ralta_write)(struct mlxsw_sp *mlxsw_sp, char *xralta_pl);
|
||||
int (*ralst_write)(struct mlxsw_sp *mlxsw_sp, char *xralst_pl);
|
||||
int (*raltb_write)(struct mlxsw_sp *mlxsw_sp, char *xraltb_pl);
|
||||
size_t fib_entry_op_ctx_size;
|
||||
size_t fib_entry_priv_size;
|
||||
void (*fib_entry_pack)(struct mlxsw_sp_fib_entry_op_ctx *op_ctx,
|
||||
enum mlxsw_sp_l3proto proto, enum mlxsw_sp_fib_entry_op op,
|
||||
u16 virtual_router, u8 prefix_len, unsigned char *addr,
|
||||
struct mlxsw_sp_fib_entry_priv *priv);
|
||||
void (*fib_entry_act_remote_pack)(struct mlxsw_sp_fib_entry_op_ctx *op_ctx,
|
||||
enum mlxsw_reg_ralue_trap_action trap_action,
|
||||
u16 trap_id, u32 adjacency_index, u16 ecmp_size);
|
||||
void (*fib_entry_act_local_pack)(struct mlxsw_sp_fib_entry_op_ctx *op_ctx,
|
||||
enum mlxsw_reg_ralue_trap_action trap_action,
|
||||
u16 trap_id, u16 local_erif);
|
||||
void (*fib_entry_act_ip2me_pack)(struct mlxsw_sp_fib_entry_op_ctx *op_ctx);
|
||||
void (*fib_entry_act_ip2me_tun_pack)(struct mlxsw_sp_fib_entry_op_ctx *op_ctx,
|
||||
u32 tunnel_ptr);
|
||||
int (*fib_entry_commit)(struct mlxsw_sp *mlxsw_sp,
|
||||
struct mlxsw_sp_fib_entry_op_ctx *op_ctx,
|
||||
bool *postponed_for_bulk);
|
||||
bool (*fib_entry_is_committed)(struct mlxsw_sp_fib_entry_priv *priv);
|
||||
};
|
||||
|
||||
struct mlxsw_sp_rif_ipip_lb;
|
||||
|
Loading…
x
Reference in New Issue
Block a user