/linux/tools/testing/selftests/bpf/progs/ |
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()
|
/linux/include/net/ |
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);
|
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() 503 static inline struct fib6_nh *nexthop_fib6_nh_bh(struct nexthop *nh) in nexthop_fib6_nh_bh() 518 return &nhi->fib6_nh; in nexthop_fib6_nh_bh() 525 struct fib6_nh *fib6_nh; in fib6_info_nh_dev() local 527 fib6_nh = f6i->nh ? nexthop_fib6_nh(f6i->nh) : f6i->fib6_nh; in fib6_info_nh_dev() 528 return fib6_nh->fib_nh_dev; in fib6_info_nh_dev() 544 res->nh = &nhi->fib6_nh; in nexthop_path_fib6_result() [all …]
|
A D | ip6_fib.h | 152 struct fib6_nh { struct 203 struct fib6_nh fib6_nh[]; member 225 struct fib6_nh *nh; 484 int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, 487 void fib6_nh_release(struct fib6_nh *fib6_nh); 488 void fib6_nh_release_dsts(struct fib6_nh *fib6_nh);
|
A D | ip6_route.h | 78 f6i->fib6_nh->fib_nh_gw_family; in rt6_qualify_for_ecmp() 307 struct fib6_nh *nha, *nhb; in rt6_duplicate_nexthop() 312 nha = a->fib6_nh; in rt6_duplicate_nexthop() 313 nhb = b->fib6_nh; in rt6_duplicate_nexthop()
|
/linux/net/ipv6/ |
A D | route.c | 443 const struct fib6_nh *nh = sibling->fib6_nh; in fib6_select_path() 611 static void rt6_probe(struct fib6_nh *fib6_nh) in rt6_probe() argument 670 static inline void rt6_probe(struct fib6_nh *fib6_nh) in rt6_probe() argument 1961 struct fib6_nh *fib6_nh; in rt6_update_exception_stamp_rt() local 1981 fib6_nh = from->fib6_nh; in rt6_update_exception_stamp_rt() 3646 void fib6_nh_release(struct fib6_nh *fib6_nh) in fib6_nh_release() argument 3683 void fib6_nh_release_dsts(struct fib6_nh *fib6_nh) in fib6_nh_release_dsts() argument 3710 struct fib6_nh *fib6_nh; in ip6_route_info_create() local 3827 fib6_nh = rt->fib6_nh; in ip6_route_info_create() 5550 struct fib6_nh *nh = f6i->fib6_nh; in rt6_nlmsg_size() [all …]
|
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() 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() 1018 struct fib6_nh *fib6_nh; in fib6_drop_pcpu_from() local 1020 fib6_nh = f6i->fib6_nh; in fib6_drop_pcpu_from() 1021 __fib6_drop_pcpu_from(fib6_nh, f6i, table); in fib6_drop_pcpu_from() 2488 struct fib6_nh *fib6_nh = rt->fib6_nh; in ipv6_route_native_seq_show() local 2493 fib6_nh = nexthop_fib6_nh_bh(rt->nh); in ipv6_route_native_seq_show() 2502 if (fib6_nh->fib_nh_gw_family) { in ipv6_route_native_seq_show() [all …]
|
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
|
A D | ndisc.c | 1296 neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6, in ndisc_router_discovery() 1297 rt->fib6_nh->fib_nh_dev, NULL, in ndisc_router_discovery() 1329 neigh = ip6_neigh_lookup(&rt->fib6_nh->fib_nh_gw6, in ndisc_router_discovery() 1330 rt->fib6_nh->fib_nh_dev, NULL, in ndisc_router_discovery()
|
A D | addrconf.c | 2453 if (rt->fib6_nh->fib_nh_dev->ifindex != dev->ifindex) in addrconf_get_prefix_route() 2455 if (no_gw && rt->fib6_nh->fib_nh_gw_family) in addrconf_get_prefix_route() 6496 struct fib6_nh *nh = ifa->rt->fib6_nh; in addrconf_disable_policy_idev()
|
/linux/net/ipv4/ |
A D | nexthop.c | 498 ipv6_stub->fib6_nh_release(&nhi->fib6_nh); in nexthop_free_single() 695 struct fib6_nh *fib6_nh; in nh_fill_node() local 752 fib6_nh = &nhi->fib6_nh; in nh_fill_node() 753 if (fib6_nh->fib_nh_gw_family && in nh_fill_node() 813 if (nhi->fib6_nh.fib_nh_gw_family) in nh_nlmsg_size_single() 1179 if (ipv6_good_nh(&nhi->fib6_nh)) in nexthop_select_path_hthr() 1241 err = cb(&nhi->fib6_nh, arg); in nexthop_for_each_fib6_nh() 1247 err = cb(&nhi->fib6_nh, arg); in nexthop_for_each_fib6_nh() 2549 struct fib6_nh *fib6_nh = &nhi->fib6_nh; in nh_create_ipv6() local 2572 ipv6_stub->fib6_nh_release(fib6_nh); in nh_create_ipv6() [all …]
|
A D | fib_semantics.c | 1040 struct fib6_nh fib6_nh = {}; in fib_check_nh_v6_gw() local 1043 err = ipv6_stub->fib6_nh_init(net, &fib6_nh, &cfg, GFP_KERNEL, extack); in fib_check_nh_v6_gw() 1045 nh->fib_nh_dev = fib6_nh.fib_nh_dev; in fib_check_nh_v6_gw() 1050 ipv6_stub->fib6_nh_release(&fib6_nh); in fib_check_nh_v6_gw()
|
/linux/drivers/net/ethernet/mellanox/mlxsw/ |
A D | spectrum_router.c | 3251 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; in mlxsw_sp_nexthop6_group_cmp() local 3255 ifindex = fib6_nh->fib_nh_dev->ifindex; in mlxsw_sp_nexthop6_group_cmp() 3256 weight = fib6_nh->fib_nh_weight; in mlxsw_sp_nexthop6_group_cmp() 3257 gw = &fib6_nh->fib_nh_gw6; in mlxsw_sp_nexthop6_group_cmp() 3324 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; in mlxsw_sp_nexthop6_group_hash() local 3804 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; in __mlxsw_sp_nexthop6_group_offload_refresh() local 3809 fib6_nh->fib_nh_flags |= RTNH_F_OFFLOAD; in __mlxsw_sp_nexthop6_group_offload_refresh() 5541 &rt->fib6_nh->fib_nh_gw6)) in mlxsw_sp_rt6_nexthop() 6639 struct fib6_nh *fib6_nh = mlxsw_sp_rt6->rt->fib6_nh; in mlxsw_sp_rt6_destroy() local 6672 return rt->fib6_nh->fib_nh_dev && in mlxsw_sp_nexthop6_ipip_type() [all …]
|