• Home
  • Raw
  • Download

Lines Matching refs:old

607 static int fib6_check_nh_list(struct nexthop *old, struct nexthop *new,  in fib6_check_nh_list()  argument
612 if (list_empty(&old->f6i_list)) in fib6_check_nh_list()
615 list_for_each_entry(f6i, &old->f6i_list, nh_list) { in fib6_check_nh_list()
671 static int fib_check_nh_list(struct nexthop *old, struct nexthop *new, in fib_check_nh_list() argument
676 list_for_each_entry(fi, &old->fi_list, nh_list) { in fib_check_nh_list()
853 static int replace_nexthop_grp(struct net *net, struct nexthop *old, in replace_nexthop_grp() argument
865 oldg = rtnl_dereference(old->nh_grp); in replace_nexthop_grp()
870 newg->nh_entries[i].nh_parent = old; in replace_nexthop_grp()
872 rcu_assign_pointer(old->nh_grp, newg); in replace_nexthop_grp()
882 static int replace_nexthop_single(struct net *net, struct nexthop *old, in replace_nexthop_single() argument
893 oldi = rtnl_dereference(old->nh_info); in replace_nexthop_single()
896 newi->nh_parent = old; in replace_nexthop_single()
899 old->protocol = new->protocol; in replace_nexthop_single()
900 old->nh_flags = new->nh_flags; in replace_nexthop_single()
902 rcu_assign_pointer(old->nh_info, newi); in replace_nexthop_single()
948 static int replace_nexthop(struct net *net, struct nexthop *old, in replace_nexthop() argument
958 err = fib_check_nh_list(old, new, extack); in replace_nexthop()
962 err = fib6_check_nh_list(old, new, extack); in replace_nexthop()
972 list_for_each_entry(nhge, &old->grp_list, nh_list) { in replace_nexthop()
991 if (old->is_group) in replace_nexthop()
992 err = replace_nexthop_grp(net, old, new, extack); in replace_nexthop()
994 err = replace_nexthop_single(net, old, new, extack); in replace_nexthop()
997 nh_rt_cache_flush(net, old); in replace_nexthop()