Lines Matching refs:nhge

79 		struct nh_grp_entry *nhge = &nhg->nh_entries[i];  in nexthop_free_mpath()  local
81 WARN_ON(!list_empty(&nhge->nh_list)); in nexthop_free_mpath()
82 nexthop_put(nhge->nh); in nexthop_free_mpath()
553 struct nh_grp_entry *nhge = &nhg->nh_entries[i]; in nexthop_select_path() local
556 if (hash > atomic_read(&nhge->upper_bound)) in nexthop_select_path()
559 nhi = rcu_dereference(nhge->nh->nh_info); in nexthop_select_path()
561 return nhge->nh; in nexthop_select_path()
569 return nhge->nh; in nexthop_select_path()
573 return nhge->nh; in nexthop_select_path()
578 rc = nhge->nh; in nexthop_select_path()
598 struct nh_grp_entry *nhge = &nhg->nh_entries[i]; in nexthop_for_each_fib6_nh() local
600 nhi = rcu_dereference_rtnl(nhge->nh->nh_info); in nexthop_for_each_fib6_nh()
771 struct nh_grp_entry *nhge = &nhg->nh_entries[i]; in nh_group_rebalance() local
774 w += nhge->weight; in nh_group_rebalance()
776 atomic_set(&nhge->upper_bound, upper_bound); in nh_group_rebalance()
780 static void remove_nh_grp_entry(struct net *net, struct nh_grp_entry *nhge, in remove_nh_grp_entry() argument
784 struct nexthop *nhp = nhge->nh_parent; in remove_nh_grp_entry()
785 struct nexthop *nh = nhge->nh; in remove_nh_grp_entry()
832 list_del(&nhge->nh_list); in remove_nh_grp_entry()
833 nexthop_put(nhge->nh); in remove_nh_grp_entry()
842 struct nh_grp_entry *nhge, *tmp; in remove_nexthop_from_groups() local
844 list_for_each_entry_safe(nhge, tmp, &nh->grp_list, nh_list) in remove_nexthop_from_groups()
845 remove_nh_grp_entry(net, nhge, nlinfo); in remove_nexthop_from_groups()
857 struct nh_grp_entry *nhge = &nhg->nh_entries[i]; in remove_nexthop_group() local
859 if (WARN_ON(!nhge->nh)) in remove_nexthop_group()
862 list_del_init(&nhge->nh_list); in remove_nexthop_group()
1011 struct nh_grp_entry *nhge; in replace_nexthop_single() local
1013 list_for_each_entry(nhge, &old->grp_list, nh_list) { in replace_nexthop_single()
1014 struct nexthop *nhp = nhge->nh_parent; in replace_nexthop_single()
1057 struct nh_grp_entry *nhge; in nexthop_replace_notify() local
1061 list_for_each_entry(nhge, &nh->grp_list, nh_list) in nexthop_replace_notify()
1062 __nexthop_replace_notify(net, nhge->nh_parent, info); in nexthop_replace_notify()
1069 struct nh_grp_entry *nhge; in replace_nexthop() local
1089 list_for_each_entry(nhge, &old->grp_list, nh_list) { in replace_nexthop()
1094 nexthop_num_path(nhge->nh_parent) > 1) { in replace_nexthop()
1099 err = fib_check_nh_list(nhge->nh_parent, new, extack); in replace_nexthop()
1103 err = fib6_check_nh_list(nhge->nh_parent, new, extack); in replace_nexthop()