fib6_nh          2874 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 		struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh;
fib6_nh          2878 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 		ifindex = fib6_nh->fib_nh_dev->ifindex;
fib6_nh          2879 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 		weight = fib6_nh->fib_nh_weight;
fib6_nh          2880 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 		gw = &fib6_nh->fib_nh_gw6;
fib6_nh          2946 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 		dev = mlxsw_sp_rt6->rt->fib6_nh->fib_nh_dev;
fib6_nh          4016 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 		if (nh->rif && nh->rif->dev == rt->fib6_nh->fib_nh_dev &&
fib6_nh          4018 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 				    &rt->fib6_nh->fib_nh_gw6))
fib6_nh          4078 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 				 list)->rt->fib6_nh->fib_nh_flags |= RTNH_F_OFFLOAD;
fib6_nh          4084 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 		struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh;
fib6_nh          4089 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 			fib6_nh->fib_nh_flags |= RTNH_F_OFFLOAD;
fib6_nh          4091 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 			fib6_nh->fib_nh_flags &= ~RTNH_F_OFFLOAD;
fib6_nh          4106 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 		rt->fib6_nh->fib_nh_flags &= ~RTNH_F_OFFLOAD;
fib6_nh          4985 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 		rt->fib6_nh->fib_nh_gw_family;
fib6_nh          5044 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 	return rt->fib6_nh->fib_nh_dev &&
fib6_nh          5045 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 	       mlxsw_sp_netdev_ipip_type(mlxsw_sp, rt->fib6_nh->fib_nh_dev, ret);
fib6_nh          5055 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 	struct net_device *dev = rt->fib6_nh->fib_nh_dev;
fib6_nh          5098 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 	struct net_device *dev = rt->fib6_nh->fib_nh_dev;
fib6_nh          5101 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 	nh->nh_weight = rt->fib6_nh->fib_nh_weight;
fib6_nh          5102 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 	memcpy(&nh->gw_addr, &rt->fib6_nh->fib_nh_gw6, sizeof(nh->gw_addr));
fib6_nh          5125 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 	return rt->fib6_nh->fib_nh_gw_family ||
fib6_nh           174 include/net/ip6_fib.h 	struct fib6_nh			fib6_nh[0];
fib6_nh           196 include/net/ip6_fib.h 	struct fib6_nh		*nh;
fib6_nh           450 include/net/ip6_fib.h int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh,
fib6_nh           453 include/net/ip6_fib.h void fib6_nh_release(struct fib6_nh *fib6_nh);
fib6_nh            78 include/net/ip6_route.h 		f6i->fib6_nh->fib_nh_gw_family;
fib6_nh           298 include/net/ip6_route.h 	struct fib6_nh *nha, *nhb;
fib6_nh           303 include/net/ip6_route.h 	nha = a->fib6_nh;
fib6_nh           304 include/net/ip6_route.h 	nhb = b->fib6_nh;
fib6_nh            15 include/net/ipv6_stubs.h struct fib6_nh;
fib6_nh            46 include/net/ipv6_stubs.h 	int (*fib6_nh_init)(struct net *net, struct fib6_nh *fib6_nh,
fib6_nh            49 include/net/ipv6_stubs.h 	void (*fib6_nh_release)(struct fib6_nh *fib6_nh);
fib6_nh            59 include/net/nexthop.h 		struct fib6_nh		fib6_nh;
fib6_nh           219 include/net/nexthop.h 	BUILD_BUG_ON(offsetof(struct fib6_nh, nh_common) != 0);
fib6_nh           294 include/net/nexthop.h static inline struct fib6_nh *nexthop_fib6_nh(struct nexthop *nh)
fib6_nh           309 include/net/nexthop.h 		return &nhi->fib6_nh;
fib6_nh           316 include/net/nexthop.h 	struct fib6_nh *fib6_nh;
fib6_nh           318 include/net/nexthop.h 	fib6_nh = f6i->nh ? nexthop_fib6_nh(f6i->nh) : f6i->fib6_nh;
fib6_nh           319 include/net/nexthop.h 	return fib6_nh->fib_nh_dev;
fib6_nh           335 include/net/nexthop.h 		res->nh = &nhi->fib6_nh;
fib6_nh           340 include/net/nexthop.h 			     int (*cb)(struct fib6_nh *nh, void *arg),
fib6_nh           995 net/ipv4/fib_semantics.c 	struct fib6_nh fib6_nh = {};
fib6_nh           998 net/ipv4/fib_semantics.c 	err = ipv6_stub->fib6_nh_init(net, &fib6_nh, &cfg, GFP_KERNEL, extack);
fib6_nh          1000 net/ipv4/fib_semantics.c 		nh->fib_nh_dev = fib6_nh.fib_nh_dev;
fib6_nh          1005 net/ipv4/fib_semantics.c 		ipv6_stub->fib6_nh_release(&fib6_nh);
fib6_nh            90 net/ipv4/nexthop.c 		ipv6_stub->fib6_nh_release(&nhi->fib6_nh);
fib6_nh           218 net/ipv4/nexthop.c 	struct fib6_nh *fib6_nh;
fib6_nh           270 net/ipv4/nexthop.c 		fib6_nh = &nhi->fib6_nh;
fib6_nh           271 net/ipv4/nexthop.c 		if (fib6_nh->fib_nh_gw_family &&
fib6_nh           272 net/ipv4/nexthop.c 		    nla_put_in6_addr(skb, NHA_GATEWAY, &fib6_nh->fib_nh_gw6))
fib6_nh           318 net/ipv4/nexthop.c 		if (nhi->fib6_nh.fib_nh_gw_family)
fib6_nh           457 net/ipv4/nexthop.c static bool ipv6_good_nh(const struct fib6_nh *nh)
fib6_nh           517 net/ipv4/nexthop.c 			if (ipv6_good_nh(&nhi->fib6_nh))
fib6_nh           531 net/ipv4/nexthop.c 			     int (*cb)(struct fib6_nh *nh, void *arg),
fib6_nh           546 net/ipv4/nexthop.c 			err = cb(&nhi->fib6_nh, arg);
fib6_nh           552 net/ipv4/nexthop.c 		err = cb(&nhi->fib6_nh, arg);
fib6_nh          1206 net/ipv4/nexthop.c 	struct fib6_nh *fib6_nh = &nhi->fib6_nh;
fib6_nh          1221 net/ipv4/nexthop.c 	err = ipv6_stub->fib6_nh_init(net, fib6_nh, &fib6_cfg, GFP_KERNEL,
fib6_nh          1224 net/ipv4/nexthop.c 		ipv6_stub->fib6_nh_release(fib6_nh);
fib6_nh          1226 net/ipv4/nexthop.c 		nh->nh_flags = fib6_nh->fib_nh_flags;
fib6_nh          2427 net/ipv6/addrconf.c 		if (rt->fib6_nh->fib_nh_dev->ifindex != dev->ifindex)
fib6_nh          2429 net/ipv6/addrconf.c 		if (no_gw && rt->fib6_nh->fib_nh_gw_family)
fib6_nh          6400 net/ipv6/addrconf.c 			struct fib6_nh *nh = ifa->rt->fib6_nh;
fib6_nh           180 net/ipv6/addrconf_core.c static int eafnosupport_fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh,
fib6_nh           152 net/ipv6/ip6_fib.c 		sz += sizeof(struct fib6_nh);
fib6_nh           174 net/ipv6/ip6_fib.c 		fib6_nh_release(f6i->fib6_nh);
fib6_nh           900 net/ipv6/ip6_fib.c static void __fib6_drop_pcpu_from(struct fib6_nh *fib6_nh,
fib6_nh           906 net/ipv6/ip6_fib.c 	if (!fib6_nh->rt6i_pcpu)
fib6_nh           916 net/ipv6/ip6_fib.c 		ppcpu_rt = per_cpu_ptr(fib6_nh->rt6i_pcpu, cpu);
fib6_nh           938 net/ipv6/ip6_fib.c static int fib6_nh_drop_pcpu_from(struct fib6_nh *nh, void *_arg)
fib6_nh           964 net/ipv6/ip6_fib.c 		struct fib6_nh *fib6_nh;
fib6_nh           966 net/ipv6/ip6_fib.c 		fib6_nh = f6i->fib6_nh;
fib6_nh           967 net/ipv6/ip6_fib.c 		__fib6_drop_pcpu_from(fib6_nh, f6i, table);
fib6_nh          2376 net/ipv6/ip6_fib.c 	struct fib6_nh *fib6_nh = rt->fib6_nh;
fib6_nh          2381 net/ipv6/ip6_fib.c 		fib6_nh = nexthop_fib6_nh(rt->nh);
fib6_nh          2390 net/ipv6/ip6_fib.c 	if (fib6_nh->fib_nh_gw_family) {
fib6_nh          2392 net/ipv6/ip6_fib.c 		seq_printf(seq, "%pi6", &fib6_nh->fib_nh_gw6);
fib6_nh          2397 net/ipv6/ip6_fib.c 	dev = fib6_nh->fib_nh_dev;
fib6_nh          1292 net/ipv6/ndisc.c 		neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6,
fib6_nh          1293 net/ipv6/ndisc.c 					 rt->fib6_nh->fib_nh_dev, NULL,
fib6_nh          1322 net/ipv6/ndisc.c 		neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6,
fib6_nh          1323 net/ipv6/ndisc.c 					 rt->fib6_nh->fib_nh_dev, NULL,
fib6_nh           102 net/ipv6/route.c static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif,
fib6_nh           449 net/ipv6/route.c 	if (fl6->mp_hash <= atomic_read(&match->fib6_nh->fib_nh_upper_bound))
fib6_nh           454 net/ipv6/route.c 		const struct fib6_nh *nh = sibling->fib6_nh;
fib6_nh           468 net/ipv6/route.c 	res->nh = match->fib6_nh;
fib6_nh           475 net/ipv6/route.c static bool __rt6_device_match(struct net *net, const struct fib6_nh *nh,
fib6_nh           501 net/ipv6/route.c 	struct fib6_nh		*nh;
fib6_nh           504 net/ipv6/route.c static int __rt6_nh_dev_match(struct fib6_nh *nh, void *_arg)
fib6_nh           514 net/ipv6/route.c static struct fib6_nh *rt6_nh_dev_match(struct net *net, struct nexthop *nh,
fib6_nh           540 net/ipv6/route.c 	struct fib6_nh *nh;
fib6_nh           548 net/ipv6/route.c 			nh = f6i->fib6_nh;
fib6_nh           563 net/ipv6/route.c 			nh = spf6i->fib6_nh;
fib6_nh           575 net/ipv6/route.c 		nh = res->f6i->fib6_nh;
fib6_nh           584 net/ipv6/route.c 		nh = f6i->fib6_nh;
fib6_nh           589 net/ipv6/route.c 		nh = res->f6i->fib6_nh;
fib6_nh           622 net/ipv6/route.c static void rt6_probe(struct fib6_nh *fib6_nh)
fib6_nh           639 net/ipv6/route.c 	if (!fib6_nh->fib_nh_gw_family)
fib6_nh           642 net/ipv6/route.c 	nh_gw = &fib6_nh->fib_nh_gw6;
fib6_nh           643 net/ipv6/route.c 	dev = fib6_nh->fib_nh_dev;
fib6_nh           645 net/ipv6/route.c 	last_probe = READ_ONCE(fib6_nh->last_probe);
fib6_nh           666 net/ipv6/route.c 	if (!work || cmpxchg(&fib6_nh->last_probe,
fib6_nh           681 net/ipv6/route.c static inline void rt6_probe(struct fib6_nh *fib6_nh)
fib6_nh           689 net/ipv6/route.c static enum rt6_nud_state rt6_check_neigh(const struct fib6_nh *fib6_nh)
fib6_nh           695 net/ipv6/route.c 	neigh = __ipv6_neigh_lookup_noref(fib6_nh->fib_nh_dev,
fib6_nh           696 net/ipv6/route.c 					  &fib6_nh->fib_nh_gw6);
fib6_nh           717 net/ipv6/route.c static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif,
fib6_nh           739 net/ipv6/route.c static bool find_match(struct fib6_nh *nh, u32 fib6_flags,
fib6_nh           781 net/ipv6/route.c 	struct fib6_nh	*nh;
fib6_nh           784 net/ipv6/route.c static int rt6_nh_find_match(struct fib6_nh *nh, void *_arg)
fib6_nh           804 net/ipv6/route.c 		struct fib6_nh *nh;
fib6_nh           836 net/ipv6/route.c 			nh = f6i->fib6_nh;
fib6_nh           922 net/ipv6/route.c 		res->nh = res->f6i->fib6_nh;
fib6_nh          1132 net/ipv6/route.c 	const struct fib6_nh *nh = res->nh;
fib6_nh          1585 net/ipv6/route.c 	const struct fib6_nh *nh = res->nh;
fib6_nh          1613 net/ipv6/route.c struct rt6_exception_bucket *fib6_nh_get_excptn_bucket(const struct fib6_nh *nh,
fib6_nh          1643 net/ipv6/route.c static void fib6_nh_excptn_bucket_set_flushed(struct fib6_nh *nh,
fib6_nh          1666 net/ipv6/route.c 	struct fib6_nh *nh = res->nh;
fib6_nh          1738 net/ipv6/route.c static void fib6_nh_flush_exceptions(struct fib6_nh *nh, struct fib6_info *from)
fib6_nh          1768 net/ipv6/route.c static int rt6_nh_flush_exceptions(struct fib6_nh *nh, void *arg)
fib6_nh          1783 net/ipv6/route.c 		fib6_nh_flush_exceptions(f6i->fib6_nh, f6i);
fib6_nh          1832 net/ipv6/route.c static int fib6_nh_remove_exception(const struct fib6_nh *nh, int plen,
fib6_nh          1875 net/ipv6/route.c static int rt6_nh_remove_exception_rt(struct fib6_nh *nh, void *_arg)
fib6_nh          1909 net/ipv6/route.c 	return fib6_nh_remove_exception(from->fib6_nh,
fib6_nh          1916 net/ipv6/route.c static void fib6_nh_update_exception(const struct fib6_nh *nh, int plen,
fib6_nh          1942 net/ipv6/route.c 	struct fib6_nh		*match;
fib6_nh          1946 net/ipv6/route.c static int fib6_nh_find_match(struct fib6_nh *nh, void *_arg)
fib6_nh          1965 net/ipv6/route.c 	struct fib6_nh *fib6_nh;
fib6_nh          1983 net/ipv6/route.c 		fib6_nh = arg.match;
fib6_nh          1985 net/ipv6/route.c 		fib6_nh = from->fib6_nh;
fib6_nh          1987 net/ipv6/route.c 	fib6_nh_update_exception(fib6_nh, from->fib6_src.plen, rt);
fib6_nh          2015 net/ipv6/route.c 				       const struct fib6_nh *nh, int mtu)
fib6_nh          2043 net/ipv6/route.c static void fib6_nh_exceptions_clean_tohost(const struct fib6_nh *nh,
fib6_nh          2120 net/ipv6/route.c static void fib6_nh_age_exceptions(const struct fib6_nh *nh,
fib6_nh          2154 net/ipv6/route.c static int rt6_nh_age_exceptions(struct fib6_nh *nh, void *_arg)
fib6_nh          2175 net/ipv6/route.c 		fib6_nh_age_exceptions(f6i->fib6_nh, gc_args, now);
fib6_nh          2788 net/ipv6/route.c 			res.nh = res.f6i->fib6_nh;
fib6_nh          2875 net/ipv6/route.c 	const struct fib6_nh *nh = res->nh;
fib6_nh          2907 net/ipv6/route.c static int fib6_nh_redirect_match(struct fib6_nh *nh, void *_arg)
fib6_nh          2973 net/ipv6/route.c 			res.nh = rt->fib6_nh;
fib6_nh          2994 net/ipv6/route.c 	res.nh = rt->fib6_nh;
fib6_nh          3128 net/ipv6/route.c 	const struct fib6_nh *nh = res->nh;
fib6_nh          3415 net/ipv6/route.c int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh,
fib6_nh          3424 net/ipv6/route.c 	fib6_nh->fib_nh_family = AF_INET6;
fib6_nh          3426 net/ipv6/route.c 	fib6_nh->last_probe = jiffies;
fib6_nh          3452 net/ipv6/route.c 		fib6_nh->fib_nh_flags |= RTNH_F_ONLINK;
fib6_nh          3455 net/ipv6/route.c 	fib6_nh->fib_nh_weight = 1;
fib6_nh          3484 net/ipv6/route.c 		fib6_nh->fib_nh_gw6 = cfg->fc_gateway;
fib6_nh          3485 net/ipv6/route.c 		fib6_nh->fib_nh_gw_family = AF_INET6;
fib6_nh          3506 net/ipv6/route.c 		fib6_nh->fib_nh_flags |= RTNH_F_LINKDOWN;
fib6_nh          3508 net/ipv6/route.c 	err = fib_nh_common_init(&fib6_nh->nh_common, cfg->fc_encap,
fib6_nh          3514 net/ipv6/route.c 	fib6_nh->rt6i_pcpu = alloc_percpu_gfp(struct rt6_info *, gfp_flags);
fib6_nh          3515 net/ipv6/route.c 	if (!fib6_nh->rt6i_pcpu) {
fib6_nh          3520 net/ipv6/route.c 	fib6_nh->fib_nh_dev = dev;
fib6_nh          3521 net/ipv6/route.c 	fib6_nh->fib_nh_oif = dev->ifindex;
fib6_nh          3528 net/ipv6/route.c 		lwtstate_put(fib6_nh->fib_nh_lws);
fib6_nh          3529 net/ipv6/route.c 		fib6_nh->fib_nh_lws = NULL;
fib6_nh          3537 net/ipv6/route.c void fib6_nh_release(struct fib6_nh *fib6_nh)
fib6_nh          3543 net/ipv6/route.c 	fib6_nh_flush_exceptions(fib6_nh, NULL);
fib6_nh          3544 net/ipv6/route.c 	bucket = fib6_nh_get_excptn_bucket(fib6_nh, NULL);
fib6_nh          3546 net/ipv6/route.c 		rcu_assign_pointer(fib6_nh->rt6i_exception_bucket, NULL);
fib6_nh          3552 net/ipv6/route.c 	if (fib6_nh->rt6i_pcpu) {
fib6_nh          3559 net/ipv6/route.c 			ppcpu_rt = per_cpu_ptr(fib6_nh->rt6i_pcpu, cpu);
fib6_nh          3568 net/ipv6/route.c 		free_percpu(fib6_nh->rt6i_pcpu);
fib6_nh          3571 net/ipv6/route.c 	fib_nh_common_release(&fib6_nh->nh_common);
fib6_nh          3582 net/ipv6/route.c 	struct fib6_nh *fib6_nh;
fib6_nh          3695 net/ipv6/route.c 		fib6_nh = nexthop_fib6_nh(rt->nh);
fib6_nh          3697 net/ipv6/route.c 		err = fib6_nh_init(net, rt->fib6_nh, cfg, gfp_flags, extack);
fib6_nh          3701 net/ipv6/route.c 		fib6_nh = rt->fib6_nh;
fib6_nh          3707 net/ipv6/route.c 		if (fib6_is_reject(cfg->fc_flags, rt->fib6_nh->fib_nh_dev,
fib6_nh          3713 net/ipv6/route.c 		struct net_device *dev = fib6_nh->fib_nh_dev;
fib6_nh          3850 net/ipv6/route.c 			     struct fib6_nh *nh)
fib6_nh          3870 net/ipv6/route.c static int fib6_nh_del_cached_rt(struct fib6_nh *nh, void *_arg)
fib6_nh          3912 net/ipv6/route.c 			struct fib6_nh *nh;
fib6_nh          3926 net/ipv6/route.c 					nh = rt->fib6_nh;
fib6_nh          3952 net/ipv6/route.c 			nh = rt->fib6_nh;
fib6_nh          4086 net/ipv6/route.c 		res.nh = res.f6i->fib6_nh;
fib6_nh          4143 net/ipv6/route.c 		if (rt->fib6_nh->fib_nh_dev->ifindex != ifindex)
fib6_nh          4146 net/ipv6/route.c 		    !rt->fib6_nh->fib_nh_gw_family)
fib6_nh          4148 net/ipv6/route.c 		if (!ipv6_addr_equal(&rt->fib6_nh->fib_nh_gw6, gwaddr))
fib6_nh          4206 net/ipv6/route.c 		struct fib6_nh *nh;
fib6_nh          4212 net/ipv6/route.c 		nh = rt->fib6_nh;
fib6_nh          4468 net/ipv6/route.c 	    ((void *)rt->fib6_nh->fib_nh_dev == dev || !dev) &&
fib6_nh          4496 net/ipv6/route.c 	struct fib6_nh *nh;
fib6_nh          4502 net/ipv6/route.c 	nh = rt->fib6_nh;
fib6_nh          4552 net/ipv6/route.c 	if (rt->fib6_nh->fib_nh_flags & RTNH_F_DEAD ||
fib6_nh          4553 net/ipv6/route.c 	    (rt->fib6_nh->fib_nh_flags & RTNH_F_LINKDOWN &&
fib6_nh          4554 net/ipv6/route.c 	     ip6_ignore_linkdown(rt->fib6_nh->fib_nh_dev)))
fib6_nh          4566 net/ipv6/route.c 		total += rt->fib6_nh->fib_nh_weight;
fib6_nh          4570 net/ipv6/route.c 			total += iter->fib6_nh->fib_nh_weight;
fib6_nh          4581 net/ipv6/route.c 		*weight += rt->fib6_nh->fib_nh_weight;
fib6_nh          4585 net/ipv6/route.c 	atomic_set(&rt->fib6_nh->fib_nh_upper_bound, upper_bound);
fib6_nh          4629 net/ipv6/route.c 	    rt->fib6_nh->fib_nh_dev == arg->dev) {
fib6_nh          4630 net/ipv6/route.c 		rt->fib6_nh->fib_nh_flags &= ~arg->nh_flags;
fib6_nh          4659 net/ipv6/route.c 	if (rt->fib6_nh->fib_nh_dev == dev)
fib6_nh          4662 net/ipv6/route.c 		if (iter->fib6_nh->fib_nh_dev == dev)
fib6_nh          4683 net/ipv6/route.c 	if (rt->fib6_nh->fib_nh_dev == down_dev ||
fib6_nh          4684 net/ipv6/route.c 	    rt->fib6_nh->fib_nh_flags & RTNH_F_DEAD)
fib6_nh          4687 net/ipv6/route.c 		if (iter->fib6_nh->fib_nh_dev == down_dev ||
fib6_nh          4688 net/ipv6/route.c 		    iter->fib6_nh->fib_nh_flags & RTNH_F_DEAD)
fib6_nh          4700 net/ipv6/route.c 	if (rt->fib6_nh->fib_nh_dev == dev)
fib6_nh          4701 net/ipv6/route.c 		rt->fib6_nh->fib_nh_flags |= nh_flags;
fib6_nh          4703 net/ipv6/route.c 		if (iter->fib6_nh->fib_nh_dev == dev)
fib6_nh          4704 net/ipv6/route.c 			iter->fib6_nh->fib_nh_flags |= nh_flags;
fib6_nh          4719 net/ipv6/route.c 		return rt->fib6_nh->fib_nh_dev == dev ? -1 : 0;
fib6_nh          4724 net/ipv6/route.c 			return rt->fib6_nh->fib_nh_dev == dev ? -1 : 0;
fib6_nh          4740 net/ipv6/route.c 		if (rt->fib6_nh->fib_nh_dev != dev ||
fib6_nh          4743 net/ipv6/route.c 		rt->fib6_nh->fib_nh_flags |= RTNH_F_LINKDOWN;
fib6_nh          4780 net/ipv6/route.c static int fib6_nh_mtu_change(struct fib6_nh *nh, void *_arg)
fib6_nh          4831 net/ipv6/route.c 	return fib6_nh_mtu_change(f6i->fib6_nh, arg);
fib6_nh          5123 net/ipv6/route.c 		rt->fib6_nh->fib_nh_weight = rtnh->rtnh_hops + 1;
fib6_nh          5310 net/ipv6/route.c static int rt6_nh_nlmsg_size(struct fib6_nh *nh, void *arg)
fib6_nh          5337 net/ipv6/route.c 		struct fib6_nh *nh = f6i->fib6_nh;
fib6_nh          5382 net/ipv6/route.c 		struct fib6_nh *fib6_nh;
fib6_nh          5384 net/ipv6/route.c 		fib6_nh = nexthop_fib6_nh(nh);
fib6_nh          5385 net/ipv6/route.c 		if (fib_nexthop_info(skb, &fib6_nh->nh_common, AF_INET6,
fib6_nh          5513 net/ipv6/route.c 		if (fib_add_nexthop(skb, &rt->fib6_nh->nh_common,
fib6_nh          5514 net/ipv6/route.c 				    rt->fib6_nh->fib_nh_weight, AF_INET6) < 0)
fib6_nh          5519 net/ipv6/route.c 			if (fib_add_nexthop(skb, &sibling->fib6_nh->nh_common,
fib6_nh          5520 net/ipv6/route.c 					    sibling->fib6_nh->fib_nh_weight,
fib6_nh          5538 net/ipv6/route.c 		if (fib_nexthop_info(skb, &rt->fib6_nh->nh_common, AF_INET6,
fib6_nh          5565 net/ipv6/route.c static int fib6_info_nh_uses_dev(struct fib6_nh *nh, void *arg)
fib6_nh          5586 net/ipv6/route.c 	if (f6i->fib6_nh->fib_nh_dev == dev)
fib6_nh          5594 net/ipv6/route.c 			if (sibling->fib6_nh->fib_nh_dev == dev)
fib6_nh          5610 net/ipv6/route.c static int rt6_nh_dump_exceptions(struct fib6_nh *nh, void *arg)
fib6_nh          5718 net/ipv6/route.c 			err = rt6_nh_dump_exceptions(rt->fib6_nh, &w);
fib6_nh          6013 net/ipv6/route.c 		net->ipv6.fib6_null_entry->fib6_nh->fib_nh_dev = dev;
fib6_nh          6348 net/ipv6/route.c 	init_net.ipv6.fib6_null_entry->fib6_nh->fib_nh_dev = init_net.loopback_dev;