Lines Matching defs:fib6_info

108 static size_t rt6_nlmsg_size(struct fib6_info *f6i);
110 struct fib6_info *rt, struct dst_entry *dst,
119 static struct fib6_info *rt6_add_route_info(struct net *net,
124 static struct fib6_info *rt6_get_route_info(struct net *net,
285 static const struct fib6_info fib6_null_entry_template = {
358 struct fib6_info *from;
370 from = xchg((__force struct fib6_info **)&rt->from, NULL);
399 struct fib6_info *from;
417 struct fib6_info *sibling, *next_sibling;
418 struct fib6_info *match = res->f6i;
530 struct fib6_info *f6i = res->f6i;
531 struct fib6_info *spf6i;
786 static void __find_rr_leaf(struct fib6_info *f6i_start,
787 struct fib6_info *nomatch, u32 metric,
788 struct fib6_result *res, struct fib6_info **cont,
791 struct fib6_info *f6i;
843 static void find_rr_leaf(struct fib6_node *fn, struct fib6_info *leaf,
844 struct fib6_info *rr_head, int oif, int strict,
848 struct fib6_info *cont = NULL;
867 struct fib6_info *leaf = rcu_dereference(fn->leaf);
868 struct fib6_info *rt0;
897 struct fib6_info *next = rcu_dereference(rt0->fib6_next);
936 struct fib6_info *rt;
1050 static unsigned short fib6_info_dst_flags(struct fib6_info *rt)
1086 struct fib6_info *f6i = res->f6i;
1113 static void rt6_set_from(struct rt6_info *rt, struct fib6_info *from)
1125 struct fib6_info *f6i = res->f6i;
1180 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;
1427 struct fib6_info *from;
1429 from = xchg((__force struct fib6_info **)&pcpu_rt->from, NULL);
1446 struct fib6_info *from;
1458 from = xchg((__force struct fib6_info **)&rt6_ex->rt6i->from, NULL);
1657 struct fib6_info *f6i = res->f6i;
1735 static void fib6_nh_flush_exceptions(struct fib6_nh *nh, struct fib6_info *from)
1767 struct fib6_info *f6i = arg;
1774 void rt6_flush_exceptions(struct fib6_info *f6i)
1886 struct fib6_info *from;
1961 struct fib6_info *from;
2156 void rt6_age_exceptions(struct fib6_info *f6i,
2689 static bool fib6_check(struct fib6_info *f6i, u32 cookie)
2703 struct fib6_info *from,
2719 struct fib6_info *from,
2734 struct fib6_info *from;
2795 struct fib6_info *from;
2812 struct fib6_info *from;
2897 /* fib6_info uses a nexthop that does not have fib6_nh
3054 struct fib6_info *rt;
3224 struct fib6_info *f6i = res->f6i;
3678 static struct fib6_info *ip6_route_info_create(struct fib6_config *cfg,
3683 struct fib6_info *rt = NULL;
3840 struct fib6_info *rt;
3853 static int __ip6_del_rt(struct fib6_info *rt, struct nl_info *info)
3874 int ip6_del_rt(struct net *net, struct fib6_info *rt, bool skip_notify)
3884 static int __ip6_del_rt_siblings(struct fib6_info *rt, struct fib6_config *cfg)
3898 struct fib6_info *sibling, *next_sibling;
3924 struct fib6_info *last_sibling, *replace_rt;
3927 struct fib6_info,
3979 static int ip6_del_cached_rt(struct fib6_config *cfg, struct fib6_info *rt,
3997 struct fib6_info *f6i;
4009 static int ip6_del_cached_rt_nh(struct fib6_config *cfg, struct fib6_info *f6i)
4023 struct fib6_info *rt;
4209 /* fib6_info uses a nexthop that does not have fib6_nh
4249 static struct fib6_info *rt6_get_route_info(struct net *net,
4257 struct fib6_info *rt = NULL;
4289 static struct fib6_info *rt6_add_route_info(struct net *net,
4322 struct fib6_info *rt6_get_dflt_router(struct net *net,
4327 struct fib6_info *rt;
4354 struct fib6_info *rt6_add_dflt_router(struct net *net,
4389 struct fib6_info *rt;
4546 struct fib6_info *addrconf_f6i_alloc(struct net *net,
4562 struct fib6_info *f6i;
4591 static int fib6_remove_prefsrc(struct fib6_info *rt, void *arg)
4621 static int fib6_clean_tohost(struct fib6_info *rt, void *arg)
4657 static struct fib6_info *rt6_multipath_first_sibling(const struct fib6_info *rt)
4659 struct fib6_info *iter;
4678 static bool rt6_is_dead(const struct fib6_info *rt)
4688 static int rt6_multipath_total_weight(const struct fib6_info *rt)
4690 struct fib6_info *iter;
4704 static void rt6_upper_bound_set(struct fib6_info *rt, int *weight, int total)
4716 static void rt6_multipath_upper_bound_set(struct fib6_info *rt, int total)
4718 struct fib6_info *iter;
4727 void rt6_multipath_rebalance(struct fib6_info *rt)
4729 struct fib6_info *first;
4751 static int fib6_ifup(struct fib6_info *rt, void *p_arg)
4782 static bool rt6_multipath_uses_dev(const struct fib6_info *rt,
4785 struct fib6_info *iter;
4796 static void rt6_multipath_flush(struct fib6_info *rt)
4798 struct fib6_info *iter;
4805 static unsigned int rt6_multipath_dead_count(const struct fib6_info *rt,
4808 struct fib6_info *iter;
4822 static void rt6_multipath_nh_flags_set(struct fib6_info *rt,
4826 struct fib6_info *iter;
4836 static int fib6_ifdown(struct fib6_info *rt, void *p_arg)
4905 struct fib6_info *f6i;
4911 struct fib6_info *f6i = arg->f6i;
4934 static int rt6_mtu_change_route(struct fib6_info *f6i, void *p_arg)
5142 struct fib6_info *fib6_info;
5149 struct fib6_info *rt,
5156 /* check if fib6_info already exists */
5157 if (rt6_duplicate_nexthop(nh->fib6_info, rt))
5164 nh->fib6_info = rt;
5171 static void ip6_route_mpath_notify(struct fib6_info *rt,
5172 struct fib6_info *rt_last,
5184 struct fib6_info,
5192 static bool ip6_route_mpath_should_notify(const struct fib6_info *rt)
5196 struct fib6_info *leaf;
5234 struct fib6_info *rt_notif = NULL, *rt_last = NULL;
5238 struct fib6_info *rt;
5258 * fib6_info structs per nexthop
5334 err = __ip6_ins_rt(nh->fib6_info, info, extack);
5344 rt_last = nh->fib6_info;
5348 rt_notif = nh->fib6_info;
5409 fib6_info_release(nh->fib6_info);
5525 static size_t rt6_nlmsg_size(struct fib6_info *f6i)
5534 struct fib6_info *sibling, *next_sibling;
5595 struct fib6_info *rt, struct dst_entry *dst,
5708 struct fib6_info *sibling, *next_sibling;
5788 static bool fib6_info_uses_dev(const struct fib6_info *f6i,
5803 struct fib6_info *sibling, *next_sibling;
5817 struct fib6_info *rt;
5875 int rt6_dump_route(struct fib6_info *rt, void *p_arg, unsigned int skip)
6015 struct fib6_info *from;
6153 void inet6_rt_notify(int event, struct fib6_info *rt, struct nl_info *info,
6184 void fib6_rt_update(struct net *net, struct fib6_info *rt,
6211 void fib6_info_hw_flags_set(struct net *net, struct fib6_info *f6i,
6639 DEFINE_BPF_ITER_FUNC(ipv6_route, struct bpf_iter_meta *meta, struct fib6_info *rt)
6642 BTF_ID(struct, fib6_info)