/kernel/linux/linux-5.10/tools/testing/selftests/bpf/progs/ |
H A D | bpf_iter_ipv6_route.c | 18 struct fib6_nh *fib6_nh; in dump_ipv6_route() local 25 fib6_nh = &rt->fib6_nh[0]; in dump_ipv6_route() 31 fib6_nh = &nh->nh_info->fib6_nh; in dump_ipv6_route() 41 if (fib6_nh->fib_nh_gw_family) { in dump_ipv6_route() 43 BPF_SEQ_PRINTF(seq, "%pi6 ", &fib6_nh->fib_nh_gw6); in dump_ipv6_route() 48 dev = fib6_nh->fib_nh_dev; in dump_ipv6_route()
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | bpf_iter_ipv6_route.c | 17 struct fib6_nh *fib6_nh; in dump_ipv6_route() local 24 fib6_nh = &rt->fib6_nh[0]; in dump_ipv6_route() 30 fib6_nh = &nh->nh_info->fib6_nh; in dump_ipv6_route() 40 if (fib6_nh->fib_nh_gw_family) { in dump_ipv6_route() 42 BPF_SEQ_PRINTF(seq, "%pi6 ", &fib6_nh->fib_nh_gw6); in dump_ipv6_route() 47 dev = fib6_nh->fib_nh_dev; in dump_ipv6_route()
|
/kernel/linux/linux-5.10/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 | 62 struct fib6_nh fib6_nh; member 257 BUILD_BUG_ON(offsetof(struct fib6_nh, nh_common) != 0); in nexthop_fib_nhc() 366 static inline struct fib6_nh *nexthop_fib6_nh(struct nexthop *nh) in nexthop_fib6_nh() 381 return &nhi->fib6_nh; in nexthop_fib6_nh() 389 static inline struct fib6_nh *nexthop_fib6_nh_bh(struct nexthop *nh) in nexthop_fib6_nh_bh() 404 return &nhi->fib6_nh; in nexthop_fib6_nh_bh() 411 struct fib6_nh *fib6_nh; in fib6_info_nh_dev() local 413 fib6_nh in fib6_info_nh_dev() [all...] |
H A D | ip6_fib.h | 152 struct fib6_nh { struct 202 struct fib6_nh fib6_nh[]; member 224 struct fib6_nh *nh; 490 int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, 493 void fib6_nh_release(struct fib6_nh *fib6_nh); 494 void fib6_nh_release_dsts(struct fib6_nh *fib6_nh); [all...] |
H A D | ip6_route.h | 78 f6i->fib6_nh->fib_nh_gw_family; in rt6_qualify_for_ecmp() 306 struct fib6_nh *nha, *nhb; in rt6_duplicate_nexthop() 311 nha = a->fib6_nh; in rt6_duplicate_nexthop() 312 nhb = b->fib6_nh; in rt6_duplicate_nexthop()
|
/kernel/linux/linux-6.6/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 | 68 struct fib6_nh fib6_nh; member 371 BUILD_BUG_ON(offsetof(struct fib6_nh, nh_common) != 0); in nexthop_fib_nhc() 480 static inline struct fib6_nh *nexthop_fib6_nh(struct nexthop *nh) in nexthop_fib6_nh() 495 return &nhi->fib6_nh; in nexthop_fib6_nh() 502 struct fib6_nh *fib6_nh; in fib6_info_nh_dev() local 504 fib6_nh = f6i->nh ? nexthop_fib6_nh(f6i->nh) : f6i->fib6_nh; in fib6_info_nh_dev() 505 return fib6_nh in fib6_info_nh_dev() [all...] |
H A D | ip6_fib.h | 153 struct fib6_nh { struct 206 struct fib6_nh fib6_nh[]; member 225 struct fib6_nh *nh; 480 int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, 483 void fib6_nh_release(struct fib6_nh *fib6_nh); 484 void fib6_nh_release_dsts(struct fib6_nh *fib6_nh); [all...] |
H A D | ip6_route.h | 78 f6i->fib6_nh->fib_nh_gw_family; in rt6_qualify_for_ecmp() 303 struct fib6_nh *nha, *nhb; in rt6_duplicate_nexthop() 308 nha = a->fib6_nh; in rt6_duplicate_nexthop() 309 nhb = b->fib6_nh; in rt6_duplicate_nexthop()
|
/kernel/linux/linux-5.10/net/ipv6/ |
H A D | route.c | 105 static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif, 437 if (fl6->mp_hash <= atomic_read(&match->fib6_nh->fib_nh_upper_bound)) in fib6_select_path() 442 const struct fib6_nh *nh = sibling->fib6_nh; in fib6_select_path() 456 res->nh = match->fib6_nh; in fib6_select_path() 463 static bool __rt6_device_match(struct net *net, const struct fib6_nh *nh, in __rt6_device_match() 489 struct fib6_nh *nh; 492 static int __rt6_nh_dev_match(struct fib6_nh *nh, void *_arg) in __rt6_nh_dev_match() 501 /* returns fib6_nh from nexthop or NULL */ 502 static struct fib6_nh *rt6_nh_dev_matc 610 rt6_probe(struct fib6_nh *fib6_nh) rt6_probe() argument 671 rt6_probe(struct fib6_nh *fib6_nh) rt6_probe() argument 679 rt6_check_neigh(const struct fib6_nh *fib6_nh) rt6_check_neigh() argument 1963 struct fib6_nh *fib6_nh; rt6_update_exception_stamp_rt() local 3411 fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, struct fib6_config *cfg, gfp_t gfp_flags, struct netlink_ext_ack *extack) fib6_nh_init() argument 3538 fib6_nh_release(struct fib6_nh *fib6_nh) fib6_nh_release() argument 3575 fib6_nh_release_dsts(struct fib6_nh *fib6_nh) fib6_nh_release_dsts() argument 3602 struct fib6_nh *fib6_nh; ip6_route_info_create() local 5487 struct fib6_nh *fib6_nh; rt6_fill_node_nexthop() local [all...] |
H A D | ip6_fib.c | 152 sz += sizeof(struct fib6_nh); in fib6_info_alloc() 174 fib6_nh_release(f6i->fib6_nh); in fib6_info_destroy_rcu() 954 static void __fib6_drop_pcpu_from(struct fib6_nh *fib6_nh, in __fib6_drop_pcpu_from() argument 960 if (!fib6_nh->rt6i_pcpu) in __fib6_drop_pcpu_from() 971 ppcpu_rt = per_cpu_ptr(fib6_nh->rt6i_pcpu, cpu); in __fib6_drop_pcpu_from() 996 static int fib6_nh_drop_pcpu_from(struct fib6_nh *nh, void *_arg) in fib6_nh_drop_pcpu_from() 1022 struct fib6_nh *fib6_nh; in fib6_drop_pcpu_from() local 1024 fib6_nh in fib6_drop_pcpu_from() 2484 struct fib6_nh *fib6_nh = rt->fib6_nh; ipv6_route_native_seq_show() local [all...] |
H A D | addrconf_core.c | 180 static int eafnosupport_fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, in eafnosupport_fib6_nh_init() argument
|
H A D | ndisc.c | 1302 neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6, in ndisc_router_discovery() 1303 rt->fib6_nh->fib_nh_dev, NULL, in ndisc_router_discovery() 1332 neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6, in ndisc_router_discovery() 1333 rt->fib6_nh->fib_nh_dev, NULL, in ndisc_router_discovery()
|
/kernel/linux/linux-6.6/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)) in fib6_select_path() 446 const struct fib6_nh *nh = sibling->fib6_nh; in fib6_select_path() 460 res->nh = match->fib6_nh; in fib6_select_path() 467 static bool __rt6_device_match(struct net *net, const struct fib6_nh *nh, in __rt6_device_match() 493 struct fib6_nh *nh; 496 static int __rt6_nh_dev_match(struct fib6_nh *nh, void *_arg) in __rt6_nh_dev_match() 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) rt6_probe() argument 674 rt6_probe(struct fib6_nh *fib6_nh) rt6_probe() argument 682 rt6_check_neigh(const struct fib6_nh *fib6_nh) rt6_check_neigh() argument 1962 struct fib6_nh *fib6_nh; rt6_update_exception_stamp_rt() local 3509 fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, struct fib6_config *cfg, gfp_t gfp_flags, struct netlink_ext_ack *extack) fib6_nh_init() argument 3638 fib6_nh_release(struct fib6_nh *fib6_nh) fib6_nh_release() argument 3659 fib6_nh_release_dsts(struct fib6_nh *fib6_nh) fib6_nh_release_dsts() argument 3686 struct fib6_nh *fib6_nh; ip6_route_info_create() local 5580 struct fib6_nh *fib6_nh; rt6_fill_node_nexthop() local [all...] |
H A D | ip6_fib.c | 153 sz += sizeof(struct fib6_nh); in fib6_info_alloc() 175 fib6_nh_release(f6i->fib6_nh); in fib6_info_destroy_rcu() 955 static void __fib6_drop_pcpu_from(struct fib6_nh *fib6_nh, in __fib6_drop_pcpu_from() argument 961 if (!fib6_nh->rt6i_pcpu) in __fib6_drop_pcpu_from() 971 ppcpu_rt = per_cpu_ptr(fib6_nh->rt6i_pcpu, cpu); in __fib6_drop_pcpu_from() 993 static int fib6_nh_drop_pcpu_from(struct fib6_nh *nh, void *_arg) in fib6_nh_drop_pcpu_from() 1019 struct fib6_nh *fib6_nh; in fib6_drop_pcpu_from() local 1021 fib6_nh in fib6_drop_pcpu_from() 2485 struct fib6_nh *fib6_nh = rt->fib6_nh; ipv6_route_native_seq_show() local [all...] |
H A D | addrconf_core.c | 180 static int eafnosupport_fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, in eafnosupport_fib6_nh_init() argument
|
H A D | ndisc.c | 1357 neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6, in ndisc_router_discovery() 1358 rt->fib6_nh->fib_nh_dev, NULL, in ndisc_router_discovery() 1393 neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6, in ndisc_router_discovery() 1394 rt->fib6_nh->fib_nh_dev, NULL, in ndisc_router_discovery()
|
/kernel/linux/linux-5.10/net/ipv4/ |
H A D | nexthop.c | 101 ipv6_stub->fib6_nh_release(&nhi->fib6_nh); in nexthop_free_single() 228 struct fib6_nh *fib6_nh; in nh_fill_node() local 285 fib6_nh = &nhi->fib6_nh; in nh_fill_node() 286 if (fib6_nh->fib_nh_gw_family && in nh_fill_node() 287 nla_put_in6_addr(skb, NHA_GATEWAY, &fib6_nh->fib_nh_gw6)) in nh_fill_node() 333 if (nhi->fib6_nh.fib_nh_gw_family) in nh_nlmsg_size_single() 510 static bool ipv6_good_nh(const struct fib6_nh *nh) in ipv6_good_nh() 573 if (ipv6_good_nh(&nhi->fib6_nh)) in nexthop_select_path() 1362 struct fib6_nh *fib6_nh = &nhi->fib6_nh; nh_create_ipv6() local [all...] |
H A D | fib_semantics.c | 1059 struct fib6_nh fib6_nh = {}; in fib_check_nh_v6_gw() local 1062 err = ipv6_stub->fib6_nh_init(net, &fib6_nh, &cfg, GFP_KERNEL, extack); in fib_check_nh_v6_gw() 1064 nh->fib_nh_dev = fib6_nh.fib_nh_dev; in fib_check_nh_v6_gw() 1069 ipv6_stub->fib6_nh_release(&fib6_nh); in fib_check_nh_v6_gw()
|
/kernel/linux/linux-6.6/net/ipv4/ |
H A D | nexthop.c | 499 ipv6_stub->fib6_nh_release(&nhi->fib6_nh); in nexthop_free_single() 696 struct fib6_nh *fib6_nh; in nh_fill_node() local 753 fib6_nh = &nhi->fib6_nh; in nh_fill_node() 754 if (fib6_nh->fib_nh_gw_family && in nh_fill_node() 755 nla_put_in6_addr(skb, NHA_GATEWAY, &fib6_nh->fib_nh_gw6)) in nh_fill_node() 814 if (nhi->fib6_nh.fib_nh_gw_family) in nh_nlmsg_size_single() 1122 static bool ipv6_good_nh(const struct fib6_nh *nh) in ipv6_good_nh() 1163 return ipv6_good_nh(&nhi->fib6_nh); in nexthop_is_good_nh() 2572 struct fib6_nh *fib6_nh = &nhi->fib6_nh; nh_create_ipv6() local [all...] |
H A D | fib_semantics.c | 1060 struct fib6_nh fib6_nh = {}; in fib_check_nh_v6_gw() local 1063 err = ipv6_stub->fib6_nh_init(net, &fib6_nh, &cfg, GFP_KERNEL, extack); in fib_check_nh_v6_gw() 1065 nh->fib_nh_dev = fib6_nh.fib_nh_dev; in fib_check_nh_v6_gw() 1071 ipv6_stub->fib6_nh_release(&fib6_nh); in fib_check_nh_v6_gw()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlxsw/ |
H A D | spectrum_router.c | 2949 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; in mlxsw_sp_nexthop6_group_cmp() local 2953 ifindex = fib6_nh->fib_nh_dev->ifindex; in mlxsw_sp_nexthop6_group_cmp() 2954 weight = fib6_nh->fib_nh_weight; in mlxsw_sp_nexthop6_group_cmp() 2955 gw = &fib6_nh->fib_nh_gw6; in mlxsw_sp_nexthop6_group_cmp() 3021 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; in mlxsw_sp_nexthop6_group_hash() local 3022 struct net_device *dev = fib6_nh in mlxsw_sp_nexthop6_group_hash() 3418 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; __mlxsw_sp_nexthop6_group_offload_refresh() local 5051 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; mlxsw_sp_rt6_destroy() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlxsw/ |
H A D | spectrum_router.c | 3391 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; in mlxsw_sp_nexthop6_group_cmp() local 3395 ifindex = fib6_nh->fib_nh_dev->ifindex; in mlxsw_sp_nexthop6_group_cmp() 3396 weight = fib6_nh->fib_nh_weight; in mlxsw_sp_nexthop6_group_cmp() 3397 gw = &fib6_nh->fib_nh_gw6; in mlxsw_sp_nexthop6_group_cmp() 3464 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; in mlxsw_sp_nexthop6_group_hash() local 3465 struct net_device *dev = fib6_nh in mlxsw_sp_nexthop6_group_hash() 3945 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; __mlxsw_sp_nexthop6_group_offload_refresh() local 6685 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; mlxsw_sp_rt6_destroy() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/prestera/ |
H A D | prestera_router.c | 198 if (!fi->fib6_nh->nh_common.nhc_gw_family) in __prestera_fi6_is_direct() 332 return &fen6_info->rt->fib6_nh->nh_common; in prestera_kern_fib_info_nhc() 337 return &iter->fib6_nh->nh_common; in prestera_kern_fib_info_nhc()
|