Home
last modified time | relevance | path

Searched refs:f6i (Results 1 – 8 of 8) sorted by relevance

/linux/net/ipv6/
H A Droute.c109 static size_t rt6_nlmsg_size(struct fib6_info *f6i);
442 struct fib6_info *first, *match = res->f6i; in fib6_select_path()
494 res->f6i = match; in fib6_select_path()
565 struct fib6_info *f6i = res->f6i; in rt6_device_match() local
570 if (unlikely(f6i->nh)) { in rt6_device_match()
571 nh = nexthop_fib6_nh(f6i->nh); in rt6_device_match()
572 if (nexthop_is_blackhole(f6i->nh)) in rt6_device_match()
575 nh = f6i->fib6_nh; in rt6_device_match()
581 for (spf6i = f6i; spf6i; spf6i = rcu_dereference(spf6i->fib6_next)) { in rt6_device_match()
595 res->f6i = spf6i; in rt6_device_match()
[all …]
H A Danycast.c277 static struct ifacaddr6 *aca_alloc(struct fib6_info *f6i, in aca_alloc() argument
287 fib6_info_hold(f6i); in aca_alloc()
288 aca->aca_rt = f6i; in aca_alloc()
335 struct fib6_info *f6i; in __ipv6_dev_ac_inc() local
355 f6i = addrconf_f6i_alloc(net, idev, addr, true, GFP_ATOMIC, NULL); in __ipv6_dev_ac_inc()
356 if (IS_ERR(f6i)) { in __ipv6_dev_ac_inc()
357 err = PTR_ERR(f6i); in __ipv6_dev_ac_inc()
360 aca = aca_alloc(f6i, addr); in __ipv6_dev_ac_inc()
362 fib6_info_release(f6i); in __ipv6_dev_ac_inc()
378 ip6_ins_rt(net, f6i); in __ipv6_dev_ac_inc()
H A Dip6_fib.c107 void fib6_update_sernum(struct net *net, struct fib6_info *f6i) in fib6_update_sernum() argument
111 fn = rcu_dereference_protected(f6i->fib6_node, in fib6_update_sernum()
112 lockdep_is_held(&f6i->fib6_table->tb6_lock)); in fib6_update_sernum()
149 struct fib6_info *f6i; in fib6_info_alloc() local
150 size_t sz = sizeof(*f6i); in fib6_info_alloc()
155 f6i = kzalloc(sz, gfp_flags); in fib6_info_alloc()
156 if (!f6i) in fib6_info_alloc()
160 INIT_LIST_HEAD(&f6i->fib6_siblings); in fib6_info_alloc()
161 refcount_set(&f6i->fib6_ref, 1); in fib6_info_alloc()
163 INIT_HLIST_NODE(&f6i->gc_link); in fib6_info_alloc()
[all …]
H A Daddrconf.c1074 struct fib6_info *f6i = NULL; in ipv6_add_addr() local
1125 f6i = addrconf_f6i_alloc(net, idev, cfg->pfx, false, gfp_flags, extack); in ipv6_add_addr()
1126 if (IS_ERR(f6i)) { in ipv6_add_addr()
1127 err = PTR_ERR(f6i); in ipv6_add_addr()
1128 f6i = NULL; in ipv6_add_addr()
1154 ifa->rt = f6i; in ipv6_add_addr()
1188 fib6_info_release(f6i); in ipv6_add_addr()
1268 struct fib6_info *f6i; in cleanup_prefix_route() local
1270 f6i = addrconf_get_prefix_route(del_peer ? &ifp->peer_addr : &ifp->addr, in cleanup_prefix_route()
1273 if (f6i) { in cleanup_prefix_route()
[all …]
H A Dfib6_rules.c88 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/include/net/
H A Dnexthop.h532 static inline struct net_device *fib6_info_nh_dev(struct fib6_info *f6i) in fib6_info_nh_dev()
536 fib6_nh = f6i->nh ? nexthop_fib6_nh(f6i->nh) : f6i->fib6_nh; in fib6_info_nh_dev()
542 struct nexthop *nh = res->f6i->nh; in nexthop_path_fib6_result()
530 fib6_info_nh_dev(struct fib6_info * f6i) fib6_info_nh_dev() argument
/linux/net/ipv4/
H A Dnexthop.c1584 struct fib6_info *f6i; in fib6_check_nh_list() local
1589 list_for_each_entry(f6i, &old->f6i_list, nh_list) { in fib6_check_nh_list()
1590 if (check_src_addr(&f6i->fib6_src.addr, extack) < 0) in fib6_check_nh_list()
2124 struct fib6_info *f6i; in __remove_nexthop_fib() local
2140 f6i = list_first_entry(&nh->f6i_list, typeof(*f6i), nh_list); in __remove_nexthop_fib()
2143 fib6_info_hold(f6i); in __remove_nexthop_fib()
2146 ipv6_stub->ip6_del_rt(net, f6i, in __remove_nexthop_fib()
2196 struct fib6_info *f6i; in nh_rt_cache_flush() local
2203 list_for_each_entry(f6i, &nh->f6i_list, nh_list) in nh_rt_cache_flush()
2204 ipv6_stub->fib6_update_sernum(net, f6i); in nh_rt_cache_flush()
[all …]
/linux/net/core/
H A Dfilter.c6302 if (unlikely(err || IS_ERR_OR_NULL(res.f6i) || in bpf_ipv6_fib_lookup()
6303 res.f6i == net->ipv6.fib6_null_entry)) in bpf_ipv6_fib_lookup()
6338 params->rt_metric = res.f6i->fib6_metric; in bpf_ipv6_fib_lookup()
6342 if (res.f6i->fib6_prefsrc.plen) { in bpf_ipv6_fib_lookup()
6343 *src = res.f6i->fib6_prefsrc.addr; in bpf_ipv6_fib_lookup()