Lines Matching refs:fib6_info

109 static size_t rt6_nlmsg_size(struct fib6_info *f6i);
111 struct fib6_info *rt, struct dst_entry *dst,
120 static struct fib6_info *rt6_add_route_info(struct net *net,
125 static struct fib6_info *rt6_get_route_info(struct net *net,
286 static const struct fib6_info fib6_null_entry_template = {
359 struct fib6_info *from; in ip6_dst_destroy()
379 struct fib6_info *from; in ip6_dst_ifdown()
403 struct fib6_info *from; in rt6_check_expired()
421 struct fib6_info *match = res->f6i; in fib6_select_path()
422 struct fib6_info *sibling; in fib6_select_path()
534 struct fib6_info *f6i = res->f6i; in rt6_device_match()
535 struct fib6_info *spf6i; in rt6_device_match()
792 static void __find_rr_leaf(struct fib6_info *f6i_start, in __find_rr_leaf()
793 struct fib6_info *nomatch, u32 metric, in __find_rr_leaf()
794 struct fib6_result *res, struct fib6_info **cont, in __find_rr_leaf()
797 struct fib6_info *f6i; in __find_rr_leaf()
849 static void find_rr_leaf(struct fib6_node *fn, struct fib6_info *leaf, in find_rr_leaf()
850 struct fib6_info *rr_head, int oif, int strict, in find_rr_leaf()
854 struct fib6_info *cont = NULL; in find_rr_leaf()
873 struct fib6_info *leaf = rcu_dereference(fn->leaf); in rt6_select()
874 struct fib6_info *rt0; in rt6_select()
903 struct fib6_info *next = rcu_dereference(rt0->fib6_next); in rt6_select()
942 struct fib6_info *rt; in rt6_route_rcv()
1056 static unsigned short fib6_info_dst_flags(struct fib6_info *rt) in fib6_info_dst_flags()
1092 struct fib6_info *f6i = res->f6i; in ip6_rt_init_dst()
1119 static void rt6_set_from(struct rt6_info *rt, struct fib6_info *from) in rt6_set_from()
1131 struct fib6_info *f6i = res->f6i; in ip6_rt_copy_init()
1186 struct fib6_info *f6i = res->f6i; in ip6_create_rt_rcu()
1301 static int __ip6_ins_rt(struct fib6_info *rt, struct nl_info *info, in __ip6_ins_rt()
1315 int ip6_ins_rt(struct net *net, struct fib6_info *rt) in ip6_ins_rt()
1326 struct fib6_info *f6i = res->f6i; in ip6_rt_cache_alloc()
1366 struct fib6_info *f6i = res->f6i; in ip6_rt_pcpu_alloc()
1434 struct fib6_info *from; in rt6_make_pcpu_route()
1661 struct fib6_info *f6i = res->f6i; in rt6_insert_exception()
1739 static void fib6_nh_flush_exceptions(struct fib6_nh *nh, struct fib6_info *from) in fib6_nh_flush_exceptions()
1771 struct fib6_info *f6i = arg; in rt6_nh_flush_exceptions()
1778 void rt6_flush_exceptions(struct fib6_info *f6i) in rt6_flush_exceptions()
1890 struct fib6_info *from; in rt6_remove_exception_rt()
1965 struct fib6_info *from; in rt6_update_exception_stamp_rt()
2160 void rt6_age_exceptions(struct fib6_info *f6i, in rt6_age_exceptions()
2693 static bool fib6_check(struct fib6_info *f6i, u32 cookie) in fib6_check()
2707 struct fib6_info *from, in rt6_check()
2723 struct fib6_info *from, in rt6_dst_from_check()
2738 struct fib6_info *from; in ip6_dst_check()
2799 struct fib6_info *from; in ip6_link_failure()
2816 struct fib6_info *from; in rt6_update_expires()
3058 struct fib6_info *rt; in __ip6_route_redirect()
3233 struct fib6_info *f6i = res->f6i; in ip6_mtu_from_fib6()
3687 static struct fib6_info *ip6_route_info_create(struct fib6_config *cfg, in ip6_route_info_create()
3692 struct fib6_info *rt = NULL; in ip6_route_info_create()
3849 struct fib6_info *rt; in ip6_route_add()
3862 static int __ip6_del_rt(struct fib6_info *rt, struct nl_info *info) in __ip6_del_rt()
3883 int ip6_del_rt(struct net *net, struct fib6_info *rt, bool skip_notify) in ip6_del_rt()
3893 static int __ip6_del_rt_siblings(struct fib6_info *rt, struct fib6_config *cfg) in __ip6_del_rt_siblings()
3907 struct fib6_info *sibling, *next_sibling; in __ip6_del_rt_siblings()
3933 struct fib6_info *last_sibling, *replace_rt; in __ip6_del_rt_siblings()
3936 struct fib6_info, in __ip6_del_rt_siblings()
3988 static int ip6_del_cached_rt(struct fib6_config *cfg, struct fib6_info *rt, in ip6_del_cached_rt()
4006 struct fib6_info *f6i;
4018 static int ip6_del_cached_rt_nh(struct fib6_config *cfg, struct fib6_info *f6i) in ip6_del_cached_rt_nh()
4032 struct fib6_info *rt; in ip6_route_del()
4258 static struct fib6_info *rt6_get_route_info(struct net *net, in rt6_get_route_info()
4266 struct fib6_info *rt = NULL; in rt6_get_route_info()
4298 static struct fib6_info *rt6_add_route_info(struct net *net, in rt6_add_route_info()
4331 struct fib6_info *rt6_get_dflt_router(struct net *net, in rt6_get_dflt_router()
4336 struct fib6_info *rt; in rt6_get_dflt_router()
4363 struct fib6_info *rt6_add_dflt_router(struct net *net, in rt6_add_dflt_router()
4398 struct fib6_info *rt; in __rt6_purge_dflt_routers()
4558 struct fib6_info *addrconf_f6i_alloc(struct net *net, in addrconf_f6i_alloc()
4574 struct fib6_info *f6i; in addrconf_f6i_alloc()
4603 static int fib6_remove_prefsrc(struct fib6_info *rt, void *arg) in fib6_remove_prefsrc()
4633 static int fib6_clean_tohost(struct fib6_info *rt, void *arg) in fib6_clean_tohost()
4669 static struct fib6_info *rt6_multipath_first_sibling(const struct fib6_info *rt) in rt6_multipath_first_sibling()
4671 struct fib6_info *iter; in rt6_multipath_first_sibling()
4690 static bool rt6_is_dead(const struct fib6_info *rt) in rt6_is_dead()
4700 static int rt6_multipath_total_weight(const struct fib6_info *rt) in rt6_multipath_total_weight()
4702 struct fib6_info *iter; in rt6_multipath_total_weight()
4716 static void rt6_upper_bound_set(struct fib6_info *rt, int *weight, int total) in rt6_upper_bound_set()
4728 static void rt6_multipath_upper_bound_set(struct fib6_info *rt, int total) in rt6_multipath_upper_bound_set()
4730 struct fib6_info *iter; in rt6_multipath_upper_bound_set()
4739 void rt6_multipath_rebalance(struct fib6_info *rt) in rt6_multipath_rebalance()
4741 struct fib6_info *first; in rt6_multipath_rebalance()
4763 static int fib6_ifup(struct fib6_info *rt, void *p_arg) in fib6_ifup()
4794 static bool rt6_multipath_uses_dev(const struct fib6_info *rt, in rt6_multipath_uses_dev()
4797 struct fib6_info *iter; in rt6_multipath_uses_dev()
4808 static void rt6_multipath_flush(struct fib6_info *rt) in rt6_multipath_flush()
4810 struct fib6_info *iter; in rt6_multipath_flush()
4817 static unsigned int rt6_multipath_dead_count(const struct fib6_info *rt, in rt6_multipath_dead_count()
4820 struct fib6_info *iter; in rt6_multipath_dead_count()
4834 static void rt6_multipath_nh_flags_set(struct fib6_info *rt, in rt6_multipath_nh_flags_set()
4838 struct fib6_info *iter; in rt6_multipath_nh_flags_set()
4848 static int fib6_ifdown(struct fib6_info *rt, void *p_arg) in fib6_ifdown()
4917 struct fib6_info *f6i;
4923 struct fib6_info *f6i = arg->f6i; in fib6_nh_mtu_change()
4946 static int rt6_mtu_change_route(struct fib6_info *f6i, void *p_arg) in rt6_mtu_change_route()
5154 struct fib6_info *fib6_info; member
5161 struct fib6_info *rt, in ip6_route_info_append()
5169 if (rt6_duplicate_nexthop(nh->fib6_info, rt)) in ip6_route_info_append()
5176 nh->fib6_info = rt; in ip6_route_info_append()
5183 static void ip6_route_mpath_notify(struct fib6_info *rt, in ip6_route_mpath_notify()
5184 struct fib6_info *rt_last, in ip6_route_mpath_notify()
5198 struct fib6_info, in ip6_route_mpath_notify()
5208 static bool ip6_route_mpath_should_notify(const struct fib6_info *rt) in ip6_route_mpath_should_notify()
5212 struct fib6_info *leaf; in ip6_route_mpath_should_notify()
5250 struct fib6_info *rt_notif = NULL, *rt_last = NULL; in ip6_route_multipath_add()
5254 struct fib6_info *rt; in ip6_route_multipath_add()
5350 err = __ip6_ins_rt(nh->fib6_info, info, extack); in ip6_route_multipath_add()
5360 rt_last = nh->fib6_info; in ip6_route_multipath_add()
5364 rt_notif = nh->fib6_info; in ip6_route_multipath_add()
5425 fib6_info_release(nh->fib6_info); in ip6_route_multipath_add()
5541 static size_t rt6_nlmsg_size(struct fib6_info *f6i) in rt6_nlmsg_size()
5551 struct fib6_info *sibling; in rt6_nlmsg_size()
5615 struct fib6_info *rt, struct dst_entry *dst, in rt6_fill_node()
5728 struct fib6_info *sibling; in rt6_fill_node()
5815 static bool fib6_info_uses_dev(const struct fib6_info *f6i, in fib6_info_uses_dev()
5830 struct fib6_info *sibling, *next_sibling; in fib6_info_uses_dev()
5844 struct fib6_info *rt;
5902 int rt6_dump_route(struct fib6_info *rt, void *p_arg, unsigned int skip) in rt6_dump_route()
6042 struct fib6_info *from; in inet6_rtm_getroute()
6180 void inet6_rt_notify(int event, struct fib6_info *rt, struct nl_info *info, in inet6_rt_notify()
6211 void fib6_rt_update(struct net *net, struct fib6_info *rt, in fib6_rt_update()
6238 void fib6_info_hw_flags_set(struct net *net, struct fib6_info *f6i, in fib6_info_hw_flags_set()
6666 DEFINE_BPF_ITER_FUNC(ipv6_route, struct bpf_iter_meta *meta, struct fib6_info *rt)
6669 BTF_ID(struct, fib6_info)