Lines Matching refs:fib_entry
364 struct mlxsw_sp_fib_entry *fib_entry; member
1179 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_decap_init() argument
1190 ipip_entry->decap_fib_entry = fib_entry; in mlxsw_sp_fib_entry_decap_init()
1191 fib_entry->decap.ipip_entry = ipip_entry; in mlxsw_sp_fib_entry_decap_init()
1192 fib_entry->decap.tunnel_index = tunnel_index; in mlxsw_sp_fib_entry_decap_init()
1197 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib_entry_decap_fini() argument
1200 fib_entry->decap.ipip_entry->decap_fib_entry = NULL; in mlxsw_sp_fib_entry_decap_fini()
1201 fib_entry->decap.ipip_entry = NULL; in mlxsw_sp_fib_entry_decap_fini()
1203 1, fib_entry->decap.tunnel_index); in mlxsw_sp_fib_entry_decap_fini()
1210 struct mlxsw_sp_fib_entry *fib_entry);
1216 struct mlxsw_sp_fib_entry *fib_entry = ipip_entry->decap_fib_entry; in mlxsw_sp_ipip_entry_demote_decap() local
1218 mlxsw_sp_fib_entry_decap_fini(mlxsw_sp, fib_entry); in mlxsw_sp_ipip_entry_demote_decap()
1219 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_TRAP; in mlxsw_sp_ipip_entry_demote_decap()
1221 mlxsw_sp_fib_entry_update(mlxsw_sp, fib_entry); in mlxsw_sp_ipip_entry_demote_decap()
1272 if (!fib_node || fib_node->fib_entry->type != type) in mlxsw_sp_router_ip2me_fib_entry_find()
1275 return fib_node->fib_entry; in mlxsw_sp_router_ip2me_fib_entry_find()
1320 fib_node->fib_entry->type != MLXSW_SP_FIB_ENTRY_TYPE_TRAP) in mlxsw_sp_ipip_entry_find_decap()
1323 return fib_node->fib_entry; in mlxsw_sp_ipip_entry_find_decap()
1966 struct mlxsw_sp_fib_entry *fib_entry; in mlxsw_sp_router_nve_promote_decap() local
1985 fib_entry = mlxsw_sp_router_ip2me_fib_entry_find(mlxsw_sp, ul_tb_id, in mlxsw_sp_router_nve_promote_decap()
1988 if (!fib_entry) in mlxsw_sp_router_nve_promote_decap()
1991 fib_entry->decap.tunnel_index = tunnel_index; in mlxsw_sp_router_nve_promote_decap()
1992 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_NVE_DECAP; in mlxsw_sp_router_nve_promote_decap()
1994 err = mlxsw_sp_fib_entry_update(mlxsw_sp, fib_entry); in mlxsw_sp_router_nve_promote_decap()
2001 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_TRAP; in mlxsw_sp_router_nve_promote_decap()
2002 mlxsw_sp_fib_entry_update(mlxsw_sp, fib_entry); in mlxsw_sp_router_nve_promote_decap()
2014 struct mlxsw_sp_fib_entry *fib_entry; in mlxsw_sp_router_nve_demote_decap() local
2023 fib_entry = mlxsw_sp_router_ip2me_fib_entry_find(mlxsw_sp, ul_tb_id, in mlxsw_sp_router_nve_demote_decap()
2026 if (!fib_entry) in mlxsw_sp_router_nve_demote_decap()
2029 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_TRAP; in mlxsw_sp_router_nve_demote_decap()
2030 mlxsw_sp_fib_entry_update(mlxsw_sp, fib_entry); in mlxsw_sp_router_nve_demote_decap()
3567 struct mlxsw_sp_fib_entry *fib_entry; in mlxsw_sp_nexthop_fib_entries_update() local
3570 list_for_each_entry(fib_entry, &nh_grp->fib_list, nexthop_group_node) { in mlxsw_sp_nexthop_fib_entries_update()
3571 err = mlxsw_sp_fib_entry_update(mlxsw_sp, fib_entry); in mlxsw_sp_nexthop_fib_entries_update()
5316 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_nexthop4_group_get() argument
5336 list_add_tail(&fib_entry->nexthop_group_node, &nh_grp->fib_list); in mlxsw_sp_nexthop4_group_get()
5337 fib_entry->nh_group = nh_grp; in mlxsw_sp_nexthop4_group_get()
5342 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_nexthop4_group_put() argument
5344 struct mlxsw_sp_nexthop_group *nh_grp = fib_entry->nh_group; in mlxsw_sp_nexthop4_group_put()
5346 list_del(&fib_entry->nexthop_group_node); in mlxsw_sp_nexthop4_group_put()
5359 mlxsw_sp_fib4_entry_should_offload(const struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib4_entry_should_offload() argument
5363 fib4_entry = container_of(fib_entry, struct mlxsw_sp_fib4_entry, in mlxsw_sp_fib4_entry_should_offload()
5369 mlxsw_sp_fib_entry_should_offload(const struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib_entry_should_offload() argument
5371 struct mlxsw_sp_nexthop_group *nh_group = fib_entry->nh_group; in mlxsw_sp_fib_entry_should_offload()
5373 switch (fib_entry->fib_node->fib->proto) { in mlxsw_sp_fib_entry_should_offload()
5375 if (!mlxsw_sp_fib4_entry_should_offload(fib_entry)) in mlxsw_sp_fib_entry_should_offload()
5382 switch (fib_entry->type) { in mlxsw_sp_fib_entry_should_offload()
5436 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib4_entry_hw_flags_set() argument
5438 u32 *p_dst = (u32 *) fib_entry->fib_node->key.addr; in mlxsw_sp_fib4_entry_hw_flags_set()
5439 int dst_len = fib_entry->fib_node->key.prefix_len; in mlxsw_sp_fib4_entry_hw_flags_set()
5444 should_offload = mlxsw_sp_fib_entry_should_offload(fib_entry); in mlxsw_sp_fib4_entry_hw_flags_set()
5445 fib4_entry = container_of(fib_entry, struct mlxsw_sp_fib4_entry, in mlxsw_sp_fib4_entry_hw_flags_set()
5461 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib4_entry_hw_flags_clear() argument
5463 u32 *p_dst = (u32 *) fib_entry->fib_node->key.addr; in mlxsw_sp_fib4_entry_hw_flags_clear()
5464 int dst_len = fib_entry->fib_node->key.prefix_len; in mlxsw_sp_fib4_entry_hw_flags_clear()
5468 fib4_entry = container_of(fib_entry, struct mlxsw_sp_fib4_entry, in mlxsw_sp_fib4_entry_hw_flags_clear()
5509 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib6_entry_hw_flags_set() argument
5515 should_offload = mlxsw_sp_fib_entry_should_offload(fib_entry); in mlxsw_sp_fib6_entry_hw_flags_set()
5520 fib6_entry = container_of(fib_entry, struct mlxsw_sp_fib6_entry, in mlxsw_sp_fib6_entry_hw_flags_set()
5529 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib6_entry_hw_flags_set() argument
5537 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib6_entry_hw_flags_clear() argument
5542 fib6_entry = container_of(fib_entry, struct mlxsw_sp_fib6_entry, in mlxsw_sp_fib6_entry_hw_flags_clear()
5551 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib6_entry_hw_flags_clear() argument
5558 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib_entry_hw_flags_set() argument
5560 switch (fib_entry->fib_node->fib->proto) { in mlxsw_sp_fib_entry_hw_flags_set()
5562 mlxsw_sp_fib4_entry_hw_flags_set(mlxsw_sp, fib_entry); in mlxsw_sp_fib_entry_hw_flags_set()
5565 mlxsw_sp_fib6_entry_hw_flags_set(mlxsw_sp, fib_entry); in mlxsw_sp_fib_entry_hw_flags_set()
5572 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib_entry_hw_flags_clear() argument
5574 switch (fib_entry->fib_node->fib->proto) { in mlxsw_sp_fib_entry_hw_flags_clear()
5576 mlxsw_sp_fib4_entry_hw_flags_clear(mlxsw_sp, fib_entry); in mlxsw_sp_fib_entry_hw_flags_clear()
5579 mlxsw_sp_fib6_entry_hw_flags_clear(mlxsw_sp, fib_entry); in mlxsw_sp_fib_entry_hw_flags_clear()
5586 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_hw_flags_refresh() argument
5592 mlxsw_sp_fib_entry_hw_flags_set(mlxsw_sp, fib_entry); in mlxsw_sp_fib_entry_hw_flags_refresh()
5595 mlxsw_sp_fib_entry_hw_flags_clear(mlxsw_sp, fib_entry); in mlxsw_sp_fib_entry_hw_flags_refresh()
5703 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_pack() argument
5706 struct mlxsw_sp_fib *fib = fib_entry->fib_node->fib; in mlxsw_sp_fib_entry_pack()
5708 mlxsw_sp_fib_entry_op_ctx_priv_hold(op_ctx, fib_entry->priv); in mlxsw_sp_fib_entry_pack()
5710 fib_entry->fib_node->key.prefix_len, in mlxsw_sp_fib_entry_pack()
5711 fib_entry->fib_node->key.addr, in mlxsw_sp_fib_entry_pack()
5712 fib_entry->priv); in mlxsw_sp_fib_entry_pack()
5765 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_op_remote() argument
5768 const struct mlxsw_sp_router_ll_ops *ll_ops = fib_entry->fib_node->fib->ll_ops; in mlxsw_sp_fib_entry_op_remote()
5769 struct mlxsw_sp_nexthop_group *nh_group = fib_entry->nh_group; in mlxsw_sp_fib_entry_op_remote()
5781 if (mlxsw_sp_fib_entry_should_offload(fib_entry)) { in mlxsw_sp_fib_entry_op_remote()
5797 mlxsw_sp_fib_entry_pack(op_ctx, fib_entry, op); in mlxsw_sp_fib_entry_op_remote()
5805 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_op_local() argument
5808 const struct mlxsw_sp_router_ll_ops *ll_ops = fib_entry->fib_node->fib->ll_ops; in mlxsw_sp_fib_entry_op_local()
5809 struct mlxsw_sp_rif *rif = fib_entry->nh_group->nhgi->nh_rif; in mlxsw_sp_fib_entry_op_local()
5814 if (mlxsw_sp_fib_entry_should_offload(fib_entry)) { in mlxsw_sp_fib_entry_op_local()
5822 mlxsw_sp_fib_entry_pack(op_ctx, fib_entry, op); in mlxsw_sp_fib_entry_op_local()
5829 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_op_trap() argument
5832 const struct mlxsw_sp_router_ll_ops *ll_ops = fib_entry->fib_node->fib->ll_ops; in mlxsw_sp_fib_entry_op_trap()
5834 mlxsw_sp_fib_entry_pack(op_ctx, fib_entry, op); in mlxsw_sp_fib_entry_op_trap()
5841 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_op_blackhole() argument
5844 const struct mlxsw_sp_router_ll_ops *ll_ops = fib_entry->fib_node->fib->ll_ops; in mlxsw_sp_fib_entry_op_blackhole()
5848 mlxsw_sp_fib_entry_pack(op_ctx, fib_entry, op); in mlxsw_sp_fib_entry_op_blackhole()
5856 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_op_unreachable() argument
5859 const struct mlxsw_sp_router_ll_ops *ll_ops = fib_entry->fib_node->fib->ll_ops; in mlxsw_sp_fib_entry_op_unreachable()
5866 mlxsw_sp_fib_entry_pack(op_ctx, fib_entry, op); in mlxsw_sp_fib_entry_op_unreachable()
5874 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_op_ipip_decap() argument
5877 const struct mlxsw_sp_router_ll_ops *ll_ops = fib_entry->fib_node->fib->ll_ops; in mlxsw_sp_fib_entry_op_ipip_decap()
5878 struct mlxsw_sp_ipip_entry *ipip_entry = fib_entry->decap.ipip_entry; in mlxsw_sp_fib_entry_op_ipip_decap()
5887 fib_entry->decap.tunnel_index); in mlxsw_sp_fib_entry_op_ipip_decap()
5891 mlxsw_sp_fib_entry_pack(op_ctx, fib_entry, op); in mlxsw_sp_fib_entry_op_ipip_decap()
5893 fib_entry->decap.tunnel_index); in mlxsw_sp_fib_entry_op_ipip_decap()
5899 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_op_nve_decap() argument
5902 const struct mlxsw_sp_router_ll_ops *ll_ops = fib_entry->fib_node->fib->ll_ops; in mlxsw_sp_fib_entry_op_nve_decap()
5904 mlxsw_sp_fib_entry_pack(op_ctx, fib_entry, op); in mlxsw_sp_fib_entry_op_nve_decap()
5906 fib_entry->decap.tunnel_index); in mlxsw_sp_fib_entry_op_nve_decap()
5912 struct mlxsw_sp_fib_entry *fib_entry, in __mlxsw_sp_fib_entry_op() argument
5915 switch (fib_entry->type) { in __mlxsw_sp_fib_entry_op()
5917 return mlxsw_sp_fib_entry_op_remote(mlxsw_sp, op_ctx, fib_entry, op); in __mlxsw_sp_fib_entry_op()
5919 return mlxsw_sp_fib_entry_op_local(mlxsw_sp, op_ctx, fib_entry, op); in __mlxsw_sp_fib_entry_op()
5921 return mlxsw_sp_fib_entry_op_trap(mlxsw_sp, op_ctx, fib_entry, op); in __mlxsw_sp_fib_entry_op()
5923 return mlxsw_sp_fib_entry_op_blackhole(mlxsw_sp, op_ctx, fib_entry, op); in __mlxsw_sp_fib_entry_op()
5925 return mlxsw_sp_fib_entry_op_unreachable(mlxsw_sp, op_ctx, fib_entry, op); in __mlxsw_sp_fib_entry_op()
5927 return mlxsw_sp_fib_entry_op_ipip_decap(mlxsw_sp, op_ctx, fib_entry, op); in __mlxsw_sp_fib_entry_op()
5929 return mlxsw_sp_fib_entry_op_nve_decap(mlxsw_sp, op_ctx, fib_entry, op); in __mlxsw_sp_fib_entry_op()
5936 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib_entry_op() argument
5939 int err = __mlxsw_sp_fib_entry_op(mlxsw_sp, op_ctx, fib_entry, op); in mlxsw_sp_fib_entry_op()
5944 mlxsw_sp_fib_entry_hw_flags_refresh(mlxsw_sp, fib_entry, op); in mlxsw_sp_fib_entry_op()
5951 struct mlxsw_sp_fib_entry *fib_entry, in __mlxsw_sp_fib_entry_update() argument
5954 return mlxsw_sp_fib_entry_op(mlxsw_sp, op_ctx, fib_entry, in __mlxsw_sp_fib_entry_update()
5960 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib_entry_update() argument
5965 return __mlxsw_sp_fib_entry_update(mlxsw_sp, op_ctx, fib_entry, false); in mlxsw_sp_fib_entry_update()
5970 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib_entry_del() argument
5972 const struct mlxsw_sp_router_ll_ops *ll_ops = fib_entry->fib_node->fib->ll_ops; in mlxsw_sp_fib_entry_del()
5974 if (!ll_ops->fib_entry_is_committed(fib_entry->priv)) in mlxsw_sp_fib_entry_del()
5976 return mlxsw_sp_fib_entry_op(mlxsw_sp, op_ctx, fib_entry, in mlxsw_sp_fib_entry_del()
5983 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib4_entry_type_set() argument
5985 struct mlxsw_sp_nexthop_group_info *nhgi = fib_entry->nh_group->nhgi; in mlxsw_sp_fib4_entry_type_set()
5997 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_IPIP_DECAP; in mlxsw_sp_fib4_entry_type_set()
5999 fib_entry, in mlxsw_sp_fib4_entry_type_set()
6008 fib_entry->decap.tunnel_index = tunnel_index; in mlxsw_sp_fib4_entry_type_set()
6009 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_NVE_DECAP; in mlxsw_sp_fib4_entry_type_set()
6014 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_TRAP; in mlxsw_sp_fib4_entry_type_set()
6017 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_BLACKHOLE; in mlxsw_sp_fib4_entry_type_set()
6025 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_UNREACHABLE; in mlxsw_sp_fib4_entry_type_set()
6029 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_REMOTE; in mlxsw_sp_fib4_entry_type_set()
6031 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_LOCAL; in mlxsw_sp_fib4_entry_type_set()
6040 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib4_entry_type_unset() argument
6042 switch (fib_entry->type) { in mlxsw_sp_fib4_entry_type_unset()
6044 mlxsw_sp_fib_entry_decap_fini(mlxsw_sp, fib_entry); in mlxsw_sp_fib4_entry_type_unset()
6057 struct mlxsw_sp_fib_entry *fib_entry; in mlxsw_sp_fib4_entry_create() local
6063 fib_entry = &fib4_entry->common; in mlxsw_sp_fib4_entry_create()
6065 fib_entry->priv = mlxsw_sp_fib_entry_priv_create(fib_node->fib->ll_ops); in mlxsw_sp_fib4_entry_create()
6066 if (IS_ERR(fib_entry->priv)) { in mlxsw_sp_fib4_entry_create()
6067 err = PTR_ERR(fib_entry->priv); in mlxsw_sp_fib4_entry_create()
6071 err = mlxsw_sp_nexthop4_group_get(mlxsw_sp, fib_entry, fen_info->fi); in mlxsw_sp_fib4_entry_create()
6075 err = mlxsw_sp_nexthop_group_vr_link(fib_entry->nh_group, in mlxsw_sp_fib4_entry_create()
6080 err = mlxsw_sp_fib4_entry_type_set(mlxsw_sp, fen_info, fib_entry); in mlxsw_sp_fib4_entry_create()
6090 fib_entry->fib_node = fib_node; in mlxsw_sp_fib4_entry_create()
6095 mlxsw_sp_nexthop_group_vr_unlink(fib_entry->nh_group, fib_node->fib); in mlxsw_sp_fib4_entry_create()
6099 mlxsw_sp_fib_entry_priv_put(fib_entry->priv); in mlxsw_sp_fib4_entry_create()
6139 fib4_entry = container_of(fib_node->fib_entry, in mlxsw_sp_fib4_entry_lookup()
6345 if (fib_node->fib_entry) in mlxsw_sp_fib_node_put()
6354 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib_node_entry_link() argument
6356 struct mlxsw_sp_fib_node *fib_node = fib_entry->fib_node; in mlxsw_sp_fib_node_entry_link()
6357 bool is_new = !fib_node->fib_entry; in mlxsw_sp_fib_node_entry_link()
6360 fib_node->fib_entry = fib_entry; in mlxsw_sp_fib_node_entry_link()
6362 err = __mlxsw_sp_fib_entry_update(mlxsw_sp, op_ctx, fib_entry, is_new); in mlxsw_sp_fib_node_entry_link()
6369 fib_node->fib_entry = NULL; in mlxsw_sp_fib_node_entry_link()
6375 struct mlxsw_sp_fib_entry *fib_entry) in __mlxsw_sp_fib_node_entry_unlink() argument
6377 struct mlxsw_sp_fib_node *fib_node = fib_entry->fib_node; in __mlxsw_sp_fib_node_entry_unlink()
6380 err = mlxsw_sp_fib_entry_del(mlxsw_sp, op_ctx, fib_entry); in __mlxsw_sp_fib_node_entry_unlink()
6381 fib_node->fib_entry = NULL; in __mlxsw_sp_fib_node_entry_unlink()
6386 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_fib_node_entry_unlink() argument
6391 __mlxsw_sp_fib_node_entry_unlink(mlxsw_sp, op_ctx, fib_entry); in mlxsw_sp_fib_node_entry_unlink()
6399 if (!fib_node->fib_entry) in mlxsw_sp_fib4_allow_replace()
6402 fib4_replaced = container_of(fib_node->fib_entry, in mlxsw_sp_fib4_allow_replace()
6447 replaced = fib_node->fib_entry; in mlxsw_sp_router_fib4_replace()
6466 fib_node->fib_entry = replaced; in mlxsw_sp_router_fib4_replace()
6765 struct mlxsw_sp_fib_entry *fib_entry) in mlxsw_sp_nexthop6_group_put() argument
6767 struct mlxsw_sp_nexthop_group *nh_grp = fib_entry->nh_group; in mlxsw_sp_nexthop6_group_put()
6769 list_del(&fib_entry->nexthop_group_node); in mlxsw_sp_nexthop6_group_put()
6892 struct mlxsw_sp_fib_entry *fib_entry, in mlxsw_sp_fib6_entry_type_set() argument
6896 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_TRAP; in mlxsw_sp_fib6_entry_type_set()
6898 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_BLACKHOLE; in mlxsw_sp_fib6_entry_type_set()
6900 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_UNREACHABLE; in mlxsw_sp_fib6_entry_type_set()
6901 else if (fib_entry->nh_group->nhgi->gateway) in mlxsw_sp_fib6_entry_type_set()
6902 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_REMOTE; in mlxsw_sp_fib6_entry_type_set()
6904 fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_LOCAL; in mlxsw_sp_fib6_entry_type_set()
6926 struct mlxsw_sp_fib_entry *fib_entry; in mlxsw_sp_fib6_entry_create() local
6933 fib_entry = &fib6_entry->common; in mlxsw_sp_fib6_entry_create()
6935 fib_entry->priv = mlxsw_sp_fib_entry_priv_create(fib_node->fib->ll_ops); in mlxsw_sp_fib6_entry_create()
6936 if (IS_ERR(fib_entry->priv)) { in mlxsw_sp_fib6_entry_create()
6937 err = PTR_ERR(fib_entry->priv); in mlxsw_sp_fib6_entry_create()
6957 err = mlxsw_sp_nexthop_group_vr_link(fib_entry->nh_group, in mlxsw_sp_fib6_entry_create()
6962 mlxsw_sp_fib6_entry_type_set(mlxsw_sp, fib_entry, rt_arr[0]); in mlxsw_sp_fib6_entry_create()
6964 fib_entry->fib_node = fib_node; in mlxsw_sp_fib6_entry_create()
6969 mlxsw_sp_nexthop6_group_put(mlxsw_sp, fib_entry); in mlxsw_sp_fib6_entry_create()
6980 mlxsw_sp_fib_entry_priv_put(fib_entry->priv); in mlxsw_sp_fib6_entry_create()
7021 fib6_entry = container_of(fib_node->fib_entry, in mlxsw_sp_fib6_entry_lookup()
7038 if (!fib_node->fib_entry) in mlxsw_sp_fib6_allow_replace()
7041 fib6_replaced = container_of(fib_node->fib_entry, in mlxsw_sp_fib6_allow_replace()
7093 replaced = fib_node->fib_entry; in mlxsw_sp_router_fib6_replace()
7110 fib_node->fib_entry = replaced; in mlxsw_sp_router_fib6_replace()
7140 if (WARN_ON_ONCE(!fib_node->fib_entry)) { in mlxsw_sp_router_fib6_append()
7145 fib6_entry = container_of(fib_node->fib_entry, in mlxsw_sp_router_fib6_append()
7274 fib4_entry = container_of(fib_node->fib_entry, in mlxsw_sp_fib4_node_flush()
7276 mlxsw_sp_fib_node_entry_unlink(mlxsw_sp, fib_node->fib_entry); in mlxsw_sp_fib4_node_flush()
7286 fib6_entry = container_of(fib_node->fib_entry, in mlxsw_sp_fib6_node_flush()
7288 mlxsw_sp_fib_node_entry_unlink(mlxsw_sp, fib_node->fib_entry); in mlxsw_sp_fib6_node_flush()