/linux-master/tools/testing/selftests/bpf/progs/ |
H A D | bpf_iter_ipv6_route.c | 17 struct fib6_nh *fib6_nh; local 24 fib6_nh = &rt->fib6_nh[0]; 30 fib6_nh = &nh->nh_info->fib6_nh; 40 if (fib6_nh->fib_nh_gw_family) { 42 BPF_SEQ_PRINTF(seq, "%pi6 ", &fib6_nh->fib_nh_gw6); 47 dev = fib6_nh->fib_nh_dev;
|
/linux-master/include/net/ |
H A D | ipv6_stubs.h | 15 struct fib6_nh; 46 int (*fib6_nh_init)(struct net *net, struct fib6_nh *fib6_nh, 49 void (*fib6_nh_release)(struct fib6_nh *fib6_nh); 50 void (*fib6_nh_release_dsts)(struct fib6_nh *fib6_nh);
|
H A D | nexthop.h | 70 struct fib6_nh fib6_nh; member in union:nh_info::__anon2502 401 BUILD_BUG_ON(offsetof(struct fib6_nh, nh_common) != 0); 510 static inline struct fib6_nh *nexthop_fib6_nh(struct nexthop *nh) 525 return &nhi->fib6_nh; 532 struct fib6_nh *fib6_nh; local 534 fib6_nh = f6i->nh ? nexthop_fib6_nh(f6i->nh) : f6i->fib6_nh; 535 return fib6_nh [all...] |
H A D | ip6_fib.h | 147 struct fib6_nh { struct 203 struct fib6_nh fib6_nh[]; member in struct:fib6_info 222 struct fib6_nh *nh; 486 int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, 489 void fib6_nh_release(struct fib6_nh *fib6_nh); 490 void fib6_nh_release_dsts(struct fib6_nh *fib6_nh); [all...] |
H A D | ip6_route.h | 77 f6i->fib6_nh->fib_nh_gw_family; 307 struct fib6_nh *nha, *nhb; 312 nha = a->fib6_nh; 313 nhb = b->fib6_nh;
|
/linux-master/net/ipv6/ |
H A D | route.c | 106 static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif, 441 if (fl6->mp_hash <= atomic_read(&match->fib6_nh->fib_nh_upper_bound)) 446 const struct fib6_nh *nh = sibling->fib6_nh; 460 res->nh = match->fib6_nh; 467 static bool __rt6_device_match(struct net *net, const struct fib6_nh *nh, 493 struct fib6_nh *nh; 496 static int __rt6_nh_dev_match(struct fib6_nh *nh, void *_arg) 505 /* returns fib6_nh from nexthop or NULL */ 506 static struct fib6_nh *rt6_nh_dev_matc 615 rt6_probe(struct fib6_nh *fib6_nh) argument 675 rt6_probe(struct fib6_nh *fib6_nh) argument 683 rt6_check_neigh(const struct fib6_nh *fib6_nh) argument 1972 struct fib6_nh *fib6_nh; local 3519 fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, struct fib6_config *cfg, gfp_t gfp_flags, struct netlink_ext_ack *extack) argument 3648 fib6_nh_release(struct fib6_nh *fib6_nh) argument 3669 fib6_nh_release_dsts(struct fib6_nh *fib6_nh) argument 3696 struct fib6_nh *fib6_nh; local 5591 struct fib6_nh *fib6_nh; local [all...] |
H A D | addrconf_core.c | 180 static int eafnosupport_fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, argument
|
H A D | ip6_fib.c | 153 sz += sizeof(struct fib6_nh); 177 fib6_nh_release(f6i->fib6_nh); 959 static void __fib6_drop_pcpu_from(struct fib6_nh *fib6_nh, argument 965 if (!fib6_nh->rt6i_pcpu) 975 ppcpu_rt = per_cpu_ptr(fib6_nh->rt6i_pcpu, cpu); 997 static int fib6_nh_drop_pcpu_from(struct fib6_nh *nh, void *_arg) 1023 struct fib6_nh *fib6_nh; local 1025 fib6_nh 2538 struct fib6_nh *fib6_nh = rt->fib6_nh; local [all...] |
H A D | ndisc.c | 1361 neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6, 1362 rt->fib6_nh->fib_nh_dev, NULL, 1398 neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6, 1399 rt->fib6_nh->fib_nh_dev, NULL,
|
H A D | addrconf.c | 2509 /* prefix routes only use builtin fib6_nh */ 2513 if (rt->fib6_nh->fib_nh_dev->ifindex != dev->ifindex) 2515 if (no_gw && rt->fib6_nh->fib_nh_gw_family) 6649 /* host routes only use builtin fib6_nh */ 6650 struct fib6_nh *nh = ifa->rt->fib6_nh;
|
/linux-master/net/ipv4/ |
H A D | nexthop.c | 515 ipv6_stub->fib6_nh_release(&nhi->fib6_nh); 914 struct fib6_nh *fib6_nh; local 971 fib6_nh = &nhi->fib6_nh; 972 if (fib6_nh->fib_nh_gw_family && 973 nla_put_in6_addr(skb, NHA_GATEWAY, &fib6_nh->fib_nh_gw6)) 1032 if (nhi->fib6_nh.fib_nh_gw_family) 1341 static bool ipv6_good_nh(const struct fib6_nh *nh) 1382 return ipv6_good_nh(&nhi->fib6_nh); 2810 struct fib6_nh *fib6_nh = &nhi->fib6_nh; local [all...] |
H A D | fib_semantics.c | 1060 struct fib6_nh fib6_nh = {}; local 1063 err = ipv6_stub->fib6_nh_init(net, &fib6_nh, &cfg, GFP_KERNEL, extack); 1065 nh->fib_nh_dev = fib6_nh.fib_nh_dev; 1071 ipv6_stub->fib6_nh_release(&fib6_nh);
|
/linux-master/drivers/net/ethernet/mellanox/mlxsw/ |
H A D | spectrum_router.c | 3506 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; local 3510 ifindex = fib6_nh->fib_nh_dev->ifindex; 3511 weight = fib6_nh->fib_nh_weight; 3512 gw = &fib6_nh->fib_nh_gw6; 3579 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; local 3580 struct net_device *dev = fib6_nh 4066 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; local 6935 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; local [all...] |
/linux-master/drivers/net/ethernet/marvell/prestera/ |
H A D | prestera_router.c | 198 if (!fi->fib6_nh->nh_common.nhc_gw_family) 332 return &fen6_info->rt->fib6_nh->nh_common; 337 return &iter->fib6_nh->nh_common;
|