fib4_entry 3971 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry; fib4_entry 3973 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry = container_of(fib_entry, struct mlxsw_sp_fib4_entry, fib4_entry 3975 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c return !fib4_entry->tos; fib4_entry 4394 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry; fib4_entry 4398 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry = kzalloc(sizeof(*fib4_entry), GFP_KERNEL); fib4_entry 4399 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (!fib4_entry) fib4_entry 4401 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib_entry = &fib4_entry->common; fib4_entry 4411 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry->prio = fen_info->fi->fib_priority; fib4_entry 4412 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry->tb_id = fen_info->tb_id; fib4_entry 4413 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry->type = fen_info->type; fib4_entry 4414 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry->tos = fen_info->tos; fib4_entry 4418 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c return fib4_entry; fib4_entry 4422 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c kfree(fib4_entry); fib4_entry 4427 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry) fib4_entry 4429 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_nexthop4_group_put(mlxsw_sp, &fib4_entry->common); fib4_entry 4430 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c kfree(fib4_entry); fib4_entry 4437 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry; fib4_entry 4453 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c list_for_each_entry(fib4_entry, &fib_node->entry_list, common.list) { fib4_entry 4454 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (fib4_entry->tb_id == fen_info->tb_id && fib4_entry 4455 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry->tos == fen_info->tos && fib4_entry 4456 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry->type == fen_info->type && fib4_entry 4457 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_nexthop4_group_fi(fib4_entry->common.nh_group) == fib4_entry 4459 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c return fib4_entry; fib4_entry 4682 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry; fib4_entry 4684 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c list_for_each_entry(fib4_entry, &fib_node->entry_list, common.list) { fib4_entry 4685 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (fib4_entry->tb_id > new4_entry->tb_id) fib4_entry 4687 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (fib4_entry->tb_id != new4_entry->tb_id) fib4_entry 4689 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (fib4_entry->tos > new4_entry->tos) fib4_entry 4691 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (fib4_entry->prio >= new4_entry->prio || fib4_entry 4692 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry->tos < new4_entry->tos) fib4_entry 4693 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c return fib4_entry; fib4_entry 4700 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_node_list_append(struct mlxsw_sp_fib4_entry *fib4_entry, fib4_entry 4705 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (WARN_ON(!fib4_entry)) fib4_entry 4708 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib_node = fib4_entry->common.fib_node; fib4_entry 4709 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c list_for_each_entry_from(fib4_entry, &fib_node->entry_list, fib4_entry 4711 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (fib4_entry->tb_id != new4_entry->tb_id || fib4_entry 4712 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry->tos != new4_entry->tos || fib4_entry 4713 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry->prio != new4_entry->prio) fib4_entry 4717 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c list_add_tail(&new4_entry->common.list, &fib4_entry->common.list); fib4_entry 4726 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry; fib4_entry 4728 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry = mlxsw_sp_fib4_node_entry_find(fib_node, new4_entry); fib4_entry 4731 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c return mlxsw_sp_fib4_node_list_append(fib4_entry, new4_entry); fib4_entry 4732 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (replace && WARN_ON(!fib4_entry)) fib4_entry 4738 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (fib4_entry) { fib4_entry 4740 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c &fib4_entry->common.list); fib4_entry 4747 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry = last; fib4_entry 4750 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (fib4_entry) fib4_entry 4752 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c &fib4_entry->common.list); fib4_entry 4762 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_node_list_remove(struct mlxsw_sp_fib4_entry *fib4_entry) fib4_entry 4764 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c list_del(&fib4_entry->common.list); fib4_entry 4810 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry, fib4_entry 4815 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c err = mlxsw_sp_fib4_node_list_insert(fib4_entry, replace, append); fib4_entry 4819 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c err = mlxsw_sp_fib_node_entry_add(mlxsw_sp, &fib4_entry->common); fib4_entry 4826 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_node_list_remove(fib4_entry); fib4_entry 4832 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry) fib4_entry 4834 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib_node_entry_del(mlxsw_sp, &fib4_entry->common); fib4_entry 4835 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_node_list_remove(fib4_entry); fib4_entry 4837 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (fib4_entry->common.type == MLXSW_SP_FIB_ENTRY_TYPE_IPIP_DECAP) fib4_entry 4838 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib_entry_decap_fini(mlxsw_sp, &fib4_entry->common); fib4_entry 4842 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry, fib4_entry 4845 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib_node *fib_node = fib4_entry->common.fib_node; fib4_entry 4852 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c replaced = list_next_entry(fib4_entry, common.list); fib4_entry 4864 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry; fib4_entry 4880 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry = mlxsw_sp_fib4_entry_create(mlxsw_sp, fib_node, fen_info); fib4_entry 4881 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (IS_ERR(fib4_entry)) { fib4_entry 4883 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c err = PTR_ERR(fib4_entry); fib4_entry 4887 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c err = mlxsw_sp_fib4_node_entry_link(mlxsw_sp, fib4_entry, replace, fib4_entry 4894 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_entry_replace(mlxsw_sp, fib4_entry, replace); fib4_entry 4899 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_entry_destroy(mlxsw_sp, fib4_entry); fib4_entry 4908 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry; fib4_entry 4914 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib4_entry = mlxsw_sp_fib4_entry_lookup(mlxsw_sp, fen_info); fib4_entry 4915 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (WARN_ON(!fib4_entry)) fib4_entry 4917 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c fib_node = fib4_entry->common.fib_node; fib4_entry 4919 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_node_entry_unlink(mlxsw_sp, fib4_entry); fib4_entry 4920 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_entry_destroy(mlxsw_sp, fib4_entry); fib4_entry 5814 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_fib4_entry *fib4_entry, *tmp; fib4_entry 5816 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c list_for_each_entry_safe(fib4_entry, tmp, &fib_node->entry_list, fib4_entry 5820 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_node_entry_unlink(mlxsw_sp, fib4_entry); fib4_entry 5821 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_fib4_entry_destroy(mlxsw_sp, fib4_entry);