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);