Searched refs:f6i (Results 1 – 6 of 6) sorted by relevance
/linux/include/net/ |
H A D | ip6_route.h | 73 static inline bool rt6_qualify_for_ecmp(const struct fib6_info *f6i) in rt6_qualify_for_ecmp() argument 76 return !(f6i->fib6_flags & RTF_ADDRCONF) && !f6i->nh && in rt6_qualify_for_ecmp() 77 f6i->fib6_nh->fib_nh_gw_family; in rt6_qualify_for_ecmp() 121 int ip6_ins_rt(struct net *net, struct fib6_info *f6i); 122 int ip6_del_rt(struct net *net, struct fib6_info *f6i, bool skip_notify); 124 void rt6_flush_exceptions(struct fib6_info *f6i); 125 void rt6_age_exceptions(struct fib6_info *f6i, struct fib6_gc_args *gc_args, 128 static inline int ip6_route_get_saddr(struct net *net, struct fib6_info *f6i, in ip6_route_get_saddr() argument 141 if (!f6i || !f6i->fib6_prefsrc.plen || l3mdev) in ip6_route_get_saddr() 142 dev = f6i ? fib6_info_nh_dev(f6i) : NULL; in ip6_route_get_saddr() [all …]
|
H A D | nexthop.h | 530 static inline struct net_device *fib6_info_nh_dev(struct fib6_info *f6i) in fib6_info_nh_dev() argument 534 fib6_nh = f6i->nh ? nexthop_fib6_nh(f6i->nh) : f6i->fib6_nh; in fib6_info_nh_dev() 540 struct nexthop *nh = res->f6i->nh; in nexthop_path_fib6_result()
|
/linux/net/ipv6/ |
H A D | route.c | 109 static size_t rt6_nlmsg_size(struct fib6_info *f6i); 419 struct fib6_info *match = res->f6i; in fib6_select_path() 461 res->f6i = match; in fib6_select_path() 532 struct fib6_info *f6i = res->f6i; in rt6_device_match() local 537 if (unlikely(f6i->nh)) { in rt6_device_match() 538 nh = nexthop_fib6_nh(f6i->nh); in rt6_device_match() 539 if (nexthop_is_blackhole(f6i->nh)) in rt6_device_match() 542 nh = f6i->fib6_nh; in rt6_device_match() 548 for (spf6i = f6i; spf6i; spf6i = rcu_dereference(spf6i->fib6_next)) { in rt6_device_match() 562 res->f6i = spf6i; in rt6_device_match() [all …]
|
H A D | addrconf.c | 1068 struct fib6_info *f6i = NULL; in ipv6_add_addr() local 1119 f6i = addrconf_f6i_alloc(net, idev, cfg->pfx, false, gfp_flags, extack); in ipv6_add_addr() 1120 if (IS_ERR(f6i)) { in ipv6_add_addr() 1121 err = PTR_ERR(f6i); in ipv6_add_addr() 1122 f6i = NULL; in ipv6_add_addr() 1148 ifa->rt = f6i; in ipv6_add_addr() 1182 fib6_info_release(f6i); in ipv6_add_addr() 1262 struct fib6_info *f6i; in cleanup_prefix_route() local 1264 f6i = addrconf_get_prefix_route(del_peer ? &ifp->peer_addr : &ifp->addr, in cleanup_prefix_route() 1267 if (f6i) { in cleanup_prefix_route() [all …]
|
/linux/net/ipv4/ |
H A D | nexthop.c | 1574 struct fib6_info *f6i; in fib6_check_nh_list() local 1579 list_for_each_entry(f6i, &old->f6i_list, nh_list) { in fib6_check_nh_list() 1580 if (check_src_addr(&f6i->fib6_src.addr, extack) < 0) in fib6_check_nh_list() 2108 struct fib6_info *f6i, *tmp; in __remove_nexthop_fib() local 2120 list_for_each_entry_safe(f6i, tmp, &nh->f6i_list, nh_list) { in __remove_nexthop_fib() 2122 fib6_info_hold(f6i); in __remove_nexthop_fib() 2123 ipv6_stub->ip6_del_rt(net, f6i, in __remove_nexthop_fib() 2169 struct fib6_info *f6i; in nh_rt_cache_flush() local 2176 list_for_each_entry(f6i, &nh->f6i_list, nh_list) in nh_rt_cache_flush() 2177 ipv6_stub->fib6_update_sernum(net, f6i); in nh_rt_cache_flush() [all …]
|
/linux/net/core/ |
H A D | filter.c | 6122 if (unlikely(err || IS_ERR_OR_NULL(res.f6i) || in bpf_ipv6_fib_lookup() 6123 res.f6i == net->ipv6.fib6_null_entry)) in bpf_ipv6_fib_lookup() 6158 params->rt_metric = res.f6i->fib6_metric; in bpf_ipv6_fib_lookup() 6162 if (res.f6i->fib6_prefsrc.plen) { in bpf_ipv6_fib_lookup() 6163 *src = res.f6i->fib6_prefsrc.addr; in bpf_ipv6_fib_lookup()
|