Searched refs:f6i (Results 1 – 11 of 11) sorted by relevance
| /linux-6.15/include/net/ |
| H A D | ip6_fib.h | 223 struct fib6_info *f6i; member 254 f6i->fib6_flags &= ~RTF_EXPIRES; in fib6_clean_expires() 255 f6i->expires = 0; in fib6_clean_expires() 264 f6i->expires = expires; in fib6_set_expires() 265 f6i->fib6_flags |= RTF_EXPIRES; in fib6_set_expires() 270 if (f6i->fib6_flags & RTF_EXPIRES) in fib6_check_expired() 331 refcount_inc(&f6i->fib6_ref); in fib6_info_hold() 341 if (f6i && refcount_dec_and_test(&f6i->fib6_ref)) { in fib6_info_release() 533 if (hlist_unhashed(&f6i->gc_link)) in fib6_add_gc_list() 534 hlist_add_head(&f6i->gc_link, &f6i->fib6_table->tb6_gc_hlist); in fib6_add_gc_list() [all …]
|
| 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); 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() 144 if (f6i && f6i->fib6_prefsrc.plen && same_vrf) in ip6_route_get_saddr() 145 *saddr = f6i->fib6_prefsrc.addr; 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-6.15/net/ipv6/ |
| H A D | route.c | 566 struct fib6_info *f6i = res->f6i; in rt6_device_match() local 833 f6i && f6i != nomatch; in __find_rr_leaf() 858 res->f6i = f6i; in __find_rr_leaf() 874 res->f6i = f6i; in __find_rr_leaf() 1134 struct fib6_info *f6i = res->f6i; in ip6_rt_init_dst() local 1173 struct fib6_info *f6i = res->f6i; in ip6_rt_copy_init() local 1228 struct fib6_info *f6i = res->f6i; in ip6_create_rt_rcu() local 1368 struct fib6_info *f6i = res->f6i; in ip6_rt_cache_alloc() local 1408 struct fib6_info *f6i = res->f6i; in ip6_rt_pcpu_alloc() local 4066 .f6i = f6i in ip6_del_cached_rt_nh() [all …]
|
| H A D | anycast.c | 260 static struct ifacaddr6 *aca_alloc(struct fib6_info *f6i, in aca_alloc() argument 270 fib6_info_hold(f6i); in aca_alloc() 271 aca->aca_rt = f6i; in aca_alloc() 318 struct fib6_info *f6i; in __ipv6_dev_ac_inc() local 340 f6i = addrconf_f6i_alloc(net, idev, addr, true, GFP_ATOMIC, NULL); in __ipv6_dev_ac_inc() 341 if (IS_ERR(f6i)) { in __ipv6_dev_ac_inc() 342 err = PTR_ERR(f6i); in __ipv6_dev_ac_inc() 345 aca = aca_alloc(f6i, addr); in __ipv6_dev_ac_inc() 347 fib6_info_release(f6i); in __ipv6_dev_ac_inc() 363 ip6_ins_rt(net, f6i); in __ipv6_dev_ac_inc()
|
| H A D | ip6_fib.c | 149 struct fib6_info *f6i; in fib6_info_alloc() local 150 size_t sz = sizeof(*f6i); in fib6_info_alloc() 156 if (!f6i) in fib6_info_alloc() 165 return f6i; in fib6_info_alloc() 172 WARN_ON(f6i->fib6_node); in fib6_info_destroy_rcu() 174 if (f6i->nh) in fib6_info_destroy_rcu() 175 nexthop_put(f6i->nh); in fib6_info_destroy_rcu() 180 kfree(f6i); in fib6_info_destroy_rcu() 716 if (!f6i) in fib6_metric_set() 1012 if (f6i->nh) { in fib6_drop_pcpu_from() [all …]
|
| H A D | addrconf.c | 1122 if (IS_ERR(f6i)) { in ipv6_add_addr() 1123 err = PTR_ERR(f6i); in ipv6_add_addr() 1124 f6i = NULL; in ipv6_add_addr() 1150 ifa->rt = f6i; in ipv6_add_addr() 1264 struct fib6_info *f6i; in cleanup_prefix_route() local 1269 if (f6i) { in cleanup_prefix_route() 3589 if (IS_ERR(f6i)) in fixup_permanent_addr() 3590 return PTR_ERR(f6i); in fixup_permanent_addr() 3595 ifp->rt = f6i; in fixup_permanent_addr() 4816 struct fib6_info *f6i; in modify_prefix_route() local [all …]
|
| H A D | fib6_rules.c | 88 if (err || res->f6i == net->ipv6.fib6_null_entry) in fib6_lookup() 191 if (!err && res->f6i != net->ipv6.fib6_null_entry) in fib6_rule_action_alt()
|
| /linux-6.15/include/trace/events/ |
| H A D | fib6.h | 72 if (res->f6i == net->ipv6.fib6_null_entry) {
|
| /linux-6.15/net/ipv4/ |
| H A D | nexthop.c | 1587 struct fib6_info *f6i; in fib6_check_nh_list() local 1592 list_for_each_entry(f6i, &old->f6i_list, nh_list) { in fib6_check_nh_list() 2121 struct fib6_info *f6i, *tmp; in __remove_nexthop_fib() local 2135 fib6_info_hold(f6i); in __remove_nexthop_fib() 2136 ipv6_stub->ip6_del_rt(net, f6i, in __remove_nexthop_fib() 2182 struct fib6_info *f6i; in nh_rt_cache_flush() local 2189 list_for_each_entry(f6i, &nh->f6i_list, nh_list) in nh_rt_cache_flush() 2190 ipv6_stub->fib6_update_sernum(net, f6i); in nh_rt_cache_flush() 2459 struct fib6_info *f6i; in __nexthop_replace_notify() local 2477 list_for_each_entry(f6i, &nh->f6i_list, nh_list) in __nexthop_replace_notify() [all …]
|
| /linux-6.15/net/core/ |
| H A D | filter.c | 6190 if (unlikely(err || IS_ERR_OR_NULL(res.f6i) || in bpf_ipv6_fib_lookup() 6191 res.f6i == net->ipv6.fib6_null_entry)) in bpf_ipv6_fib_lookup() 6226 params->rt_metric = res.f6i->fib6_metric; in bpf_ipv6_fib_lookup() 6230 if (res.f6i->fib6_prefsrc.plen) { in bpf_ipv6_fib_lookup() 6231 *src = res.f6i->fib6_prefsrc.addr; in bpf_ipv6_fib_lookup()
|