Symbol: fib6_nh
drivers/net/ethernet/marvell/prestera/prestera_router.c
198
if (!fi->fib6_nh->nh_common.nhc_gw_family)
drivers/net/ethernet/marvell/prestera/prestera_router.c
332
return &fen6_info->rt->fib6_nh->nh_common;
drivers/net/ethernet/marvell/prestera/prestera_router.c
337
return &iter->fib6_nh->nh_common;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
3506
struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
3510
ifindex = fib6_nh->fib_nh_dev->ifindex;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
3511
weight = fib6_nh->fib_nh_weight;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
3512
gw = &fib6_nh->fib_nh_gw6;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
3579
struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
3580
struct net_device *dev = fib6_nh->fib_nh_dev;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
3581
struct in6_addr *gw = &fib6_nh->fib_nh_gw6;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
4066
struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
4071
fib6_nh->fib_nh_flags |= RTNH_F_OFFLOAD;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
4073
fib6_nh->fib_nh_flags &= ~RTNH_F_OFFLOAD;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
5983
if (dev && dev == rt->fib6_nh->fib_nh_dev &&
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
5985
&rt->fib6_nh->fib_nh_gw6))
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
6934
struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
6937
fib6_nh->fib_nh_flags &= ~RTNH_F_OFFLOAD;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
6967
return rt->fib6_nh->fib_nh_dev &&
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
6968
mlxsw_sp_netdev_ipip_type(mlxsw_sp, rt->fib6_nh->fib_nh_dev, ret);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
6976
struct net_device *dev = rt->fib6_nh->fib_nh_dev;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
6980
nh->nh_weight = rt->fib6_nh->fib_nh_weight;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
6981
memcpy(&nh->gw_addr, &rt->fib6_nh->fib_nh_gw6, sizeof(nh->gw_addr));
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
7019
return rt->fib6_nh->fib_nh_gw_family ||
include/net/ip6_fib.h
204
struct fib6_nh fib6_nh[];
include/net/ip6_fib.h
223
struct fib6_nh *nh;
include/net/ip6_fib.h
489
int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh,
include/net/ip6_fib.h
492
void fib6_nh_release(struct fib6_nh *fib6_nh);
include/net/ip6_fib.h
493
void fib6_nh_release_dsts(struct fib6_nh *fib6_nh);
include/net/ip6_route.h
320
struct fib6_nh *nha, *nhb;
include/net/ip6_route.h
325
nha = a->fib6_nh;
include/net/ip6_route.h
326
nhb = b->fib6_nh;
include/net/ip6_route.h
77
f6i->fib6_nh->fib_nh_gw_family;
include/net/ipv6_stubs.h
16
struct fib6_nh;
include/net/ipv6_stubs.h
47
int (*fib6_nh_init)(struct net *net, struct fib6_nh *fib6_nh,
include/net/ipv6_stubs.h
50
void (*fib6_nh_release)(struct fib6_nh *fib6_nh);
include/net/ipv6_stubs.h
51
void (*fib6_nh_release_dsts)(struct fib6_nh *fib6_nh);
include/net/nexthop.h
403
BUILD_BUG_ON(offsetof(struct fib6_nh, nh_common) != 0);
include/net/nexthop.h
512
static inline struct fib6_nh *nexthop_fib6_nh(struct nexthop *nh)
include/net/nexthop.h
527
return &nhi->fib6_nh;
include/net/nexthop.h
534
struct fib6_nh *fib6_nh;
include/net/nexthop.h
536
fib6_nh = f6i->nh ? nexthop_fib6_nh(f6i->nh) : f6i->fib6_nh;
include/net/nexthop.h
537
return fib6_nh->fib_nh_dev;
include/net/nexthop.h
553
res->nh = &nhi->fib6_nh;
include/net/nexthop.h
558
int (*cb)(struct fib6_nh *nh, void *arg),
include/net/nexthop.h
70
struct fib6_nh fib6_nh;
net/ipv4/fib_semantics.c
1083
struct fib6_nh fib6_nh = {};
net/ipv4/fib_semantics.c
1086
err = ipv6_stub->fib6_nh_init(net, &fib6_nh, &cfg, GFP_KERNEL, extack);
net/ipv4/fib_semantics.c
1088
nh->fib_nh_dev = fib6_nh.fib_nh_dev;
net/ipv4/fib_semantics.c
1094
ipv6_stub->fib6_nh_release(&fib6_nh);
net/ipv4/nexthop.c
1053
if (nhi->fib6_nh.fib_nh_gw_family)
net/ipv4/nexthop.c
1378
static bool ipv6_good_nh(const struct fib6_nh *nh)
net/ipv4/nexthop.c
1419
return ipv6_good_nh(&nhi->fib6_nh);
net/ipv4/nexthop.c
1512
int (*cb)(struct fib6_nh *nh, void *arg),
net/ipv4/nexthop.c
1527
err = cb(&nhi->fib6_nh, arg);
net/ipv4/nexthop.c
1533
err = cb(&nhi->fib6_nh, arg);
net/ipv4/nexthop.c
2241
ipv6_stub->fib6_nh_release_dsts(&nhi->fib6_nh);
net/ipv4/nexthop.c
2878
struct fib6_nh *fib6_nh = &nhi->fib6_nh;
net/ipv4/nexthop.c
2895
err = ipv6_stub->fib6_nh_init(net, fib6_nh, &fib6_cfg, GFP_KERNEL,
net/ipv4/nexthop.c
2901
ipv6_stub->fib6_nh_release(fib6_nh);
net/ipv4/nexthop.c
2903
nh->nh_flags = fib6_nh->fib_nh_flags;
net/ipv4/nexthop.c
513
ipv6_stub->fib6_nh_release(&nhi->fib6_nh);
net/ipv4/nexthop.c
918
struct fib6_nh *fib6_nh;
net/ipv4/nexthop.c
977
fib6_nh = &nhi->fib6_nh;
net/ipv4/nexthop.c
978
if (fib6_nh->fib_nh_gw_family &&
net/ipv4/nexthop.c
979
nla_put_in6_addr(skb, NHA_GATEWAY, &fib6_nh->fib_nh_gw6))
net/ipv6/addrconf.c
2516
if (rt->fib6_nh->fib_nh_dev->ifindex != dev->ifindex)
net/ipv6/addrconf.c
2518
if (no_gw && rt->fib6_nh->fib_nh_gw_family)
net/ipv6/addrconf.c
6676
struct fib6_nh *nh = ifa->rt->fib6_nh;
net/ipv6/addrconf_core.c
180
static int eafnosupport_fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh,
net/ipv6/ip6_fib.c
1011
static int fib6_nh_drop_pcpu_from(struct fib6_nh *nh, void *_arg)
net/ipv6/ip6_fib.c
1032
struct fib6_nh *fib6_nh;
net/ipv6/ip6_fib.c
1034
fib6_nh = f6i->fib6_nh;
net/ipv6/ip6_fib.c
1035
__fib6_drop_pcpu_from(fib6_nh, f6i);
net/ipv6/ip6_fib.c
1150
(iter->nh || !iter->fib6_nh->fib_nh_gw_family)) {
net/ipv6/ip6_fib.c
153
sz += sizeof(struct fib6_nh);
net/ipv6/ip6_fib.c
177
fib6_nh_release(f6i->fib6_nh);
net/ipv6/ip6_fib.c
2612
struct fib6_nh *fib6_nh = rt->fib6_nh;
net/ipv6/ip6_fib.c
2617
fib6_nh = nexthop_fib6_nh(rt->nh);
net/ipv6/ip6_fib.c
2626
if (fib6_nh->fib_nh_gw_family) {
net/ipv6/ip6_fib.c
2628
seq_printf(seq, "%pi6", &fib6_nh->fib_nh_gw6);
net/ipv6/ip6_fib.c
2633
dev = fib6_nh->fib_nh_dev;
net/ipv6/ip6_fib.c
975
static void __fib6_drop_pcpu_from(struct fib6_nh *fib6_nh,
net/ipv6/ip6_fib.c
980
if (!fib6_nh->rt6i_pcpu)
net/ipv6/ip6_fib.c
991
ppcpu_rt = per_cpu_ptr(fib6_nh->rt6i_pcpu, cpu);
net/ipv6/ndisc.c
1351
neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6,
net/ipv6/ndisc.c
1352
rt->fib6_nh->fib_nh_dev, NULL,
net/ipv6/ndisc.c
1385
neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6,
net/ipv6/ndisc.c
1386
rt->fib6_nh->fib_nh_dev, NULL,
net/ipv6/route.c
107
static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif,
net/ipv6/route.c
1172
const struct fib6_nh *nh = res->nh;
net/ipv6/route.c
1637
const struct fib6_nh *nh = res->nh;
net/ipv6/route.c
1665
struct rt6_exception_bucket *fib6_nh_get_excptn_bucket(const struct fib6_nh *nh,
net/ipv6/route.c
1695
static void fib6_nh_excptn_bucket_set_flushed(struct fib6_nh *nh,
net/ipv6/route.c
1718
struct fib6_nh *nh = res->nh;
net/ipv6/route.c
1794
static void fib6_nh_flush_exceptions(struct fib6_nh *nh, struct fib6_info *from)
net/ipv6/route.c
1824
static int rt6_nh_flush_exceptions(struct fib6_nh *nh, void *arg)
net/ipv6/route.c
1840
fib6_nh_flush_exceptions(f6i->fib6_nh, f6i);
net/ipv6/route.c
1890
static int fib6_nh_remove_exception(const struct fib6_nh *nh, int plen,
net/ipv6/route.c
1933
static int rt6_nh_remove_exception_rt(struct fib6_nh *nh, void *_arg)
net/ipv6/route.c
1967
return fib6_nh_remove_exception(from->fib6_nh,
net/ipv6/route.c
1974
static void fib6_nh_update_exception(const struct fib6_nh *nh, int plen,
net/ipv6/route.c
2000
struct fib6_nh *match;
net/ipv6/route.c
2004
static int fib6_nh_find_match(struct fib6_nh *nh, void *_arg)
net/ipv6/route.c
2023
struct fib6_nh *fib6_nh;
net/ipv6/route.c
2041
fib6_nh = arg.match;
net/ipv6/route.c
2043
fib6_nh = from->fib6_nh;
net/ipv6/route.c
2045
fib6_nh_update_exception(fib6_nh, from->fib6_src.plen, rt);
net/ipv6/route.c
2075
const struct fib6_nh *nh, int mtu)
net/ipv6/route.c
2103
static void fib6_nh_exceptions_clean_tohost(const struct fib6_nh *nh,
net/ipv6/route.c
2178
static void fib6_nh_age_exceptions(const struct fib6_nh *nh,
net/ipv6/route.c
2212
static int rt6_nh_age_exceptions(struct fib6_nh *nh, void *_arg)
net/ipv6/route.c
2233
fib6_nh_age_exceptions(f6i->fib6_nh, gc_args, now);
net/ipv6/route.c
2975
res.nh = res.f6i->fib6_nh;
net/ipv6/route.c
3062
const struct fib6_nh *nh = res->nh;
net/ipv6/route.c
3094
static int fib6_nh_redirect_match(struct fib6_nh *nh, void *_arg)
net/ipv6/route.c
3154
res.nh = rt->fib6_nh;
net/ipv6/route.c
3175
res.nh = rt->fib6_nh;
net/ipv6/route.c
3296
const struct fib6_nh *nh = res->nh;
net/ipv6/route.c
3579
int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh,
net/ipv6/route.c
3583
netdevice_tracker *dev_tracker = &fib6_nh->fib_nh_dev_tracker;
net/ipv6/route.c
3588
fib6_nh->fib_nh_family = AF_INET6;
net/ipv6/route.c
3590
fib6_nh->last_probe = jiffies;
net/ipv6/route.c
3593
fib6_nh->fib_nh_gw6 = cfg->fc_gateway;
net/ipv6/route.c
3594
fib6_nh->fib_nh_gw_family = AF_INET6;
net/ipv6/route.c
3622
fib6_nh->fib_nh_flags |= RTNH_F_ONLINK;
net/ipv6/route.c
3625
fib6_nh->fib_nh_weight = 1;
net/ipv6/route.c
3654
fib6_nh->fib_nh_gw6 = cfg->fc_gateway;
net/ipv6/route.c
3655
fib6_nh->fib_nh_gw_family = AF_INET6;
net/ipv6/route.c
3676
fib6_nh->fib_nh_flags |= RTNH_F_LINKDOWN;
net/ipv6/route.c
3678
err = fib_nh_common_init(net, &fib6_nh->nh_common, cfg->fc_encap,
net/ipv6/route.c
3684
fib6_nh->rt6i_pcpu = alloc_percpu_gfp(struct rt6_info *, gfp_flags);
net/ipv6/route.c
3685
if (!fib6_nh->rt6i_pcpu) {
net/ipv6/route.c
3690
fib6_nh->fib_nh_dev = dev;
net/ipv6/route.c
3691
fib6_nh->fib_nh_oif = dev->ifindex;
net/ipv6/route.c
3698
fib_nh_common_release(&fib6_nh->nh_common);
net/ipv6/route.c
3699
fib6_nh->nh_common.nhc_pcpu_rth_output = NULL;
net/ipv6/route.c
3700
fib6_nh->fib_nh_lws = NULL;
net/ipv6/route.c
3707
void fib6_nh_release(struct fib6_nh *fib6_nh)
net/ipv6/route.c
3713
fib6_nh_flush_exceptions(fib6_nh, NULL);
net/ipv6/route.c
3714
bucket = fib6_nh_get_excptn_bucket(fib6_nh, NULL);
net/ipv6/route.c
3716
rcu_assign_pointer(fib6_nh->rt6i_exception_bucket, NULL);
net/ipv6/route.c
3722
fib6_nh_release_dsts(fib6_nh);
net/ipv6/route.c
3723
free_percpu(fib6_nh->rt6i_pcpu);
net/ipv6/route.c
3725
fib_nh_common_release(&fib6_nh->nh_common);
net/ipv6/route.c
3728
void fib6_nh_release_dsts(struct fib6_nh *fib6_nh)
net/ipv6/route.c
3732
if (!fib6_nh->rt6i_pcpu)
net/ipv6/route.c
3738
ppcpu_rt = per_cpu_ptr(fib6_nh->rt6i_pcpu, cpu);
net/ipv6/route.c
3867
struct fib6_nh *fib6_nh;
net/ipv6/route.c
3893
fib6_nh = nexthop_fib6_nh(rt->nh);
net/ipv6/route.c
3899
err = fib6_nh_init(net, rt->fib6_nh, cfg, gfp_flags, extack);
net/ipv6/route.c
3903
fib6_nh = rt->fib6_nh;
net/ipv6/route.c
3909
if (fib6_is_reject(cfg->fc_flags, rt->fib6_nh->fib_nh_dev,
net/ipv6/route.c
3915
struct net_device *dev = fib6_nh->fib_nh_dev;
net/ipv6/route.c
4088
struct fib6_nh *nh)
net/ipv6/route.c
4108
static int fib6_nh_del_cached_rt(struct fib6_nh *nh, void *_arg)
net/ipv6/route.c
4150
struct fib6_nh *nh;
net/ipv6/route.c
4164
nh = rt->fib6_nh;
net/ipv6/route.c
4190
nh = rt->fib6_nh;
net/ipv6/route.c
4325
res.nh = res.f6i->fib6_nh;
net/ipv6/route.c
4382
if (rt->fib6_nh->fib_nh_dev->ifindex != ifindex)
net/ipv6/route.c
4385
!rt->fib6_nh->fib_nh_gw_family)
net/ipv6/route.c
4387
if (!ipv6_addr_equal(&rt->fib6_nh->fib_nh_gw6, gwaddr))
net/ipv6/route.c
4445
struct fib6_nh *nh;
net/ipv6/route.c
4451
nh = rt->fib6_nh;
net/ipv6/route.c
4719
!ipv6_chk_addr(net, addr, rt->fib6_nh->fib_nh_dev, 0)) {
net/ipv6/route.c
472
if (hash <= atomic_read(&first->fib6_nh->fib_nh_upper_bound)) {
net/ipv6/route.c
473
if (rt6_score_route(first->fib6_nh, first->fib6_flags, oif,
net/ipv6/route.c
4744
struct fib6_nh *nh;
net/ipv6/route.c
4750
nh = rt->fib6_nh;
net/ipv6/route.c
4800
if (rt->fib6_nh->fib_nh_flags & RTNH_F_DEAD ||
net/ipv6/route.c
4801
(rt->fib6_nh->fib_nh_flags & RTNH_F_LINKDOWN &&
net/ipv6/route.c
4802
ip6_ignore_linkdown(rt->fib6_nh->fib_nh_dev)))
net/ipv6/route.c
481
const struct fib6_nh *nh = sibling->fib6_nh;
net/ipv6/route.c
4814
total += rt->fib6_nh->fib_nh_weight;
net/ipv6/route.c
4818
total += iter->fib6_nh->fib_nh_weight;
net/ipv6/route.c
4829
*weight += rt->fib6_nh->fib_nh_weight;
net/ipv6/route.c
4833
atomic_set(&rt->fib6_nh->fib_nh_upper_bound, upper_bound);
net/ipv6/route.c
4877
rt->fib6_nh->fib_nh_dev == arg->dev) {
net/ipv6/route.c
4878
rt->fib6_nh->fib_nh_flags &= ~arg->nh_flags;
net/ipv6/route.c
4907
if (rt->fib6_nh->fib_nh_dev == dev)
net/ipv6/route.c
4910
if (iter->fib6_nh->fib_nh_dev == dev)
net/ipv6/route.c
4931
if (rt->fib6_nh->fib_nh_dev == down_dev ||
net/ipv6/route.c
4932
rt->fib6_nh->fib_nh_flags & RTNH_F_DEAD)
net/ipv6/route.c
4935
if (iter->fib6_nh->fib_nh_dev == down_dev ||
net/ipv6/route.c
4936
iter->fib6_nh->fib_nh_flags & RTNH_F_DEAD)
net/ipv6/route.c
4948
if (rt->fib6_nh->fib_nh_dev == dev)
net/ipv6/route.c
4949
rt->fib6_nh->fib_nh_flags |= nh_flags;
net/ipv6/route.c
495
res->nh = match->fib6_nh;
net/ipv6/route.c
4951
if (iter->fib6_nh->fib_nh_dev == dev)
net/ipv6/route.c
4952
iter->fib6_nh->fib_nh_flags |= nh_flags;
net/ipv6/route.c
4967
return rt->fib6_nh->fib_nh_dev == dev ? -1 : 0;
net/ipv6/route.c
4972
return rt->fib6_nh->fib_nh_dev == dev ? -1 : 0;
net/ipv6/route.c
4988
if (rt->fib6_nh->fib_nh_dev != dev ||
net/ipv6/route.c
4991
rt->fib6_nh->fib_nh_flags |= RTNH_F_LINKDOWN;
net/ipv6/route.c
502
static bool __rt6_device_match(struct net *net, const struct fib6_nh *nh,
net/ipv6/route.c
5028
static int fib6_nh_mtu_change(struct fib6_nh *nh, void *_arg)
net/ipv6/route.c
5079
return fib6_nh_mtu_change(f6i->fib6_nh, arg);
net/ipv6/route.c
528
struct fib6_nh *nh;
net/ipv6/route.c
531
static int __rt6_nh_dev_match(struct fib6_nh *nh, void *_arg)
net/ipv6/route.c
541
static struct fib6_nh *rt6_nh_dev_match(struct net *net, struct nexthop *nh,
net/ipv6/route.c
5466
rt->fib6_nh->fib_nh_weight = rtnh->rtnh_hops + 1;
net/ipv6/route.c
5662
static int rt6_nh_nlmsg_size(struct fib6_nh *nh, void *arg)
net/ipv6/route.c
567
struct fib6_nh *nh;
net/ipv6/route.c
5683
struct fib6_nh *nh;
net/ipv6/route.c
5695
nh = f6i->fib6_nh;
net/ipv6/route.c
5702
rt6_nh_nlmsg_size(sibling->fib6_nh, &nexthop_len);
net/ipv6/route.c
5741
struct fib6_nh *fib6_nh;
net/ipv6/route.c
5743
fib6_nh = nexthop_fib6_nh(nh);
net/ipv6/route.c
5744
if (fib_nexthop_info(skb, &fib6_nh->nh_common, AF_INET6,
net/ipv6/route.c
575
nh = f6i->fib6_nh;
net/ipv6/route.c
5878
if (fib_add_nexthop(skb, &rt->fib6_nh->nh_common,
net/ipv6/route.c
5879
rt->fib6_nh->fib_nh_weight, AF_INET6,
net/ipv6/route.c
5887
if (fib_add_nexthop(skb, &sibling->fib6_nh->nh_common,
net/ipv6/route.c
5888
sibling->fib6_nh->fib_nh_weight,
net/ipv6/route.c
590
nh = spf6i->fib6_nh;
net/ipv6/route.c
5912
if (fib_nexthop_info(skb, &rt->fib6_nh->nh_common, AF_INET6,
net/ipv6/route.c
5948
static int fib6_info_nh_uses_dev(struct fib6_nh *nh, void *arg)
net/ipv6/route.c
5969
if (f6i->fib6_nh->fib_nh_dev == dev)
net/ipv6/route.c
5978
if (sibling->fib6_nh->fib_nh_dev == dev) {
net/ipv6/route.c
5998
static int rt6_nh_dump_exceptions(struct fib6_nh *nh, void *arg)
net/ipv6/route.c
602
nh = res->f6i->fib6_nh;
net/ipv6/route.c
6106
err = rt6_nh_dump_exceptions(rt->fib6_nh, &w);
net/ipv6/route.c
611
nh = f6i->fib6_nh;
net/ipv6/route.c
616
nh = res->f6i->fib6_nh;
net/ipv6/route.c
6471
net->ipv6.fib6_null_entry->fib6_nh->fib_nh_dev = dev;
net/ipv6/route.c
650
static void rt6_probe(struct fib6_nh *fib6_nh)
net/ipv6/route.c
667
if (!fib6_nh->fib_nh_gw_family)
net/ipv6/route.c
670
nh_gw = &fib6_nh->fib_nh_gw6;
net/ipv6/route.c
671
dev = fib6_nh->fib_nh_dev;
net/ipv6/route.c
673
last_probe = READ_ONCE(fib6_nh->last_probe);
net/ipv6/route.c
6818
init_net.ipv6.fib6_null_entry->fib6_nh->fib_nh_dev = init_net.loopback_dev;
net/ipv6/route.c
697
if (!work || cmpxchg(&fib6_nh->last_probe,
net/ipv6/route.c
712
static inline void rt6_probe(struct fib6_nh *fib6_nh)
net/ipv6/route.c
720
static enum rt6_nud_state rt6_check_neigh(const struct fib6_nh *fib6_nh)
net/ipv6/route.c
726
neigh = __ipv6_neigh_lookup_noref(fib6_nh->fib_nh_dev,
net/ipv6/route.c
727
&fib6_nh->fib_nh_gw6);
net/ipv6/route.c
748
static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif,
net/ipv6/route.c
770
static bool find_match(struct fib6_nh *nh, u32 fib6_flags,
net/ipv6/route.c
812
struct fib6_nh *nh;
net/ipv6/route.c
815
static int rt6_nh_find_match(struct fib6_nh *nh, void *_arg)
net/ipv6/route.c
835
struct fib6_nh *nh;
net/ipv6/route.c
867
nh = f6i->fib6_nh;
net/ipv6/route.c
953
res->nh = res->f6i->fib6_nh;
tools/testing/selftests/bpf/progs/bpf_iter_ipv6_route.c
17
struct fib6_nh *fib6_nh;
tools/testing/selftests/bpf/progs/bpf_iter_ipv6_route.c
24
fib6_nh = &rt->fib6_nh[0];
tools/testing/selftests/bpf/progs/bpf_iter_ipv6_route.c
30
fib6_nh = &nh->nh_info->fib6_nh;
tools/testing/selftests/bpf/progs/bpf_iter_ipv6_route.c
40
if (fib6_nh->fib_nh_gw_family) {
tools/testing/selftests/bpf/progs/bpf_iter_ipv6_route.c
42
BPF_SEQ_PRINTF(seq, "%pi6 ", &fib6_nh->fib_nh_gw6);
tools/testing/selftests/bpf/progs/bpf_iter_ipv6_route.c
47
dev = fib6_nh->fib_nh_dev;