Lines Matching defs:fib6_info
107 static size_t rt6_nlmsg_size(struct fib6_info *f6i);
109 struct fib6_info *rt, struct dst_entry *dst,
118 static struct fib6_info *rt6_add_route_info(struct net *net,
123 static struct fib6_info *rt6_get_route_info(struct net *net,
279 static const struct fib6_info fib6_null_entry_template = {
355 struct fib6_info *from;
367 from = xchg((__force struct fib6_info **)&rt->from, NULL);
398 struct fib6_info *from;
416 struct fib6_info *sibling, *next_sibling;
417 struct fib6_info *match = res->f6i;
526 struct fib6_info *f6i = res->f6i;
527 struct fib6_info *spf6i;
783 static void __find_rr_leaf(struct fib6_info *f6i_start,
784 struct fib6_info *nomatch, u32 metric,
785 struct fib6_result *res, struct fib6_info **cont,
788 struct fib6_info *f6i;
840 static void find_rr_leaf(struct fib6_node *fn, struct fib6_info *leaf,
841 struct fib6_info *rr_head, int oif, int strict,
845 struct fib6_info *cont = NULL;
864 struct fib6_info *leaf = rcu_dereference(fn->leaf);
865 struct fib6_info *rt0;
894 struct fib6_info *next = rcu_dereference(rt0->fib6_next);
933 struct fib6_info *rt;
1047 static unsigned short fib6_info_dst_flags(struct fib6_info *rt)
1083 struct fib6_info *f6i = res->f6i;
1110 static void rt6_set_from(struct rt6_info *rt, struct fib6_info *from)
1122 struct fib6_info *f6i = res->f6i;
1177 struct fib6_info *f6i = res->f6i;
1295 static int __ip6_ins_rt(struct fib6_info *rt, struct nl_info *info,
1309 int ip6_ins_rt(struct net *net, struct fib6_info *rt)
1320 struct fib6_info *f6i = res->f6i;
1360 struct fib6_info *f6i = res->f6i;
1428 struct fib6_info *from;
1430 from = xchg((__force struct fib6_info **)&pcpu_rt->from, NULL);
1447 struct fib6_info *from;
1459 from = xchg((__force struct fib6_info **)&rt6_ex->rt6i->from, NULL);
1658 struct fib6_info *f6i = res->f6i;
1736 static void fib6_nh_flush_exceptions(struct fib6_nh *nh, struct fib6_info *from)
1768 struct fib6_info *f6i = arg;
1775 void rt6_flush_exceptions(struct fib6_info *f6i)
1887 struct fib6_info *from;
1962 struct fib6_info *from;
2160 void rt6_age_exceptions(struct fib6_info *f6i,
2570 static bool fib6_check(struct fib6_info *f6i, u32 cookie)
2584 struct fib6_info *from,
2600 struct fib6_info *from,
2614 struct fib6_info *from;
2674 struct fib6_info *from;
2691 struct fib6_info *from;
2776 /* fib6_info uses a nexthop that does not have fib6_nh
2932 struct fib6_info *rt;
3125 struct fib6_info *f6i = res->f6i;
3594 static struct fib6_info *ip6_route_info_create(struct fib6_config *cfg,
3599 struct fib6_info *rt = NULL;
3756 struct fib6_info *rt;
3769 static int __ip6_del_rt(struct fib6_info *rt, struct nl_info *info)
3790 int ip6_del_rt(struct net *net, struct fib6_info *rt, bool skip_notify)
3800 static int __ip6_del_rt_siblings(struct fib6_info *rt, struct fib6_config *cfg)
3814 struct fib6_info *sibling, *next_sibling;
3840 struct fib6_info *last_sibling, *replace_rt;
3843 struct fib6_info,
3895 static int ip6_del_cached_rt(struct fib6_config *cfg, struct fib6_info *rt,
3913 struct fib6_info *f6i;
3925 static int ip6_del_cached_rt_nh(struct fib6_config *cfg, struct fib6_info *f6i)
3939 struct fib6_info *rt;
4125 /* fib6_info uses a nexthop that does not have fib6_nh
4165 static struct fib6_info *rt6_get_route_info(struct net *net,
4173 struct fib6_info *rt = NULL;
4205 static struct fib6_info *rt6_add_route_info(struct net *net,
4238 struct fib6_info *rt6_get_dflt_router(struct net *net,
4243 struct fib6_info *rt;
4270 struct fib6_info *rt6_add_dflt_router(struct net *net,
4304 struct fib6_info *rt;
4457 struct fib6_info *addrconf_f6i_alloc(struct net *net,
4472 struct fib6_info *f6i;
4502 static int fib6_remove_prefsrc(struct fib6_info *rt, void *arg)
4534 static int fib6_clean_tohost(struct fib6_info *rt, void *arg)
4570 static struct fib6_info *rt6_multipath_first_sibling(const struct fib6_info *rt)
4572 struct fib6_info *iter;
4591 static bool rt6_is_dead(const struct fib6_info *rt)
4601 static int rt6_multipath_total_weight(const struct fib6_info *rt)
4603 struct fib6_info *iter;
4617 static void rt6_upper_bound_set(struct fib6_info *rt, int *weight, int total)
4629 static void rt6_multipath_upper_bound_set(struct fib6_info *rt, int total)
4631 struct fib6_info *iter;
4640 void rt6_multipath_rebalance(struct fib6_info *rt)
4642 struct fib6_info *first;
4664 static int fib6_ifup(struct fib6_info *rt, void *p_arg)
4695 static bool rt6_multipath_uses_dev(const struct fib6_info *rt,
4698 struct fib6_info *iter;
4709 static void rt6_multipath_flush(struct fib6_info *rt)
4711 struct fib6_info *iter;
4718 static unsigned int rt6_multipath_dead_count(const struct fib6_info *rt,
4721 struct fib6_info *iter;
4735 static void rt6_multipath_nh_flags_set(struct fib6_info *rt,
4739 struct fib6_info *iter;
4749 static int fib6_ifdown(struct fib6_info *rt, void *p_arg)
4818 struct fib6_info *f6i;
4824 struct fib6_info *f6i = arg->f6i;
4847 static int rt6_mtu_change_route(struct fib6_info *f6i, void *p_arg)
5049 struct fib6_info *fib6_info;
5056 struct fib6_info *rt,
5063 /* check if fib6_info already exists */
5064 if (rt6_duplicate_nexthop(nh->fib6_info, rt))
5071 nh->fib6_info = rt;
5078 static void ip6_route_mpath_notify(struct fib6_info *rt,
5079 struct fib6_info *rt_last,
5091 struct fib6_info,
5099 static bool ip6_route_mpath_should_notify(const struct fib6_info *rt)
5103 struct fib6_info *leaf;
5141 struct fib6_info *rt_notif = NULL, *rt_last = NULL;
5145 struct fib6_info *rt;
5165 * fib6_info structs per nexthop
5241 err = __ip6_ins_rt(nh->fib6_info, info, extack);
5251 rt_last = nh->fib6_info;
5255 rt_notif = nh->fib6_info;
5316 fib6_info_release(nh->fib6_info);
5432 static size_t rt6_nlmsg_size(struct fib6_info *f6i)
5441 struct fib6_info *sibling, *next_sibling;
5502 struct fib6_info *rt, struct dst_entry *dst,
5611 struct fib6_info *sibling, *next_sibling;
5689 static bool fib6_info_uses_dev(const struct fib6_info *f6i,
5704 struct fib6_info *sibling, *next_sibling;
5718 struct fib6_info *rt;
5776 int rt6_dump_route(struct fib6_info *rt, void *p_arg, unsigned int skip)
5916 struct fib6_info *from;
6054 void inet6_rt_notify(int event, struct fib6_info *rt, struct nl_info *info,
6085 void fib6_rt_update(struct net *net, struct fib6_info *rt,
6483 DEFINE_BPF_ITER_FUNC(ipv6_route, struct bpf_iter_meta *meta, struct fib6_info *rt)
6486 BTF_ID(struct, fib6_info)