Lines Matching refs:rt6_info

75 static struct rt6_info *ip6_rt_copy(struct rt6_info *ort,
95 static int rt6_score_route(struct rt6_info *rt, int oif, int strict);
98 static struct rt6_info *rt6_add_route_info(struct net *net,
102 static struct rt6_info *rt6_get_route_info(struct net *net,
107 static void rt6_bind_peer(struct rt6_info *rt, int create) in rt6_bind_peer()
123 static struct inet_peer *__rt6_get_peer(struct rt6_info *rt, int create) in __rt6_get_peer()
132 static struct inet_peer *rt6_get_peer_create(struct rt6_info *rt) in rt6_get_peer_create()
139 struct rt6_info *rt = (struct rt6_info *) dst; in ipv6_cow_metrics()
168 static inline const void *choose_neigh_daddr(struct rt6_info *rt, in choose_neigh_daddr()
185 struct rt6_info *rt = (struct rt6_info *) dst; in ip6_neigh_lookup()
252 static const struct rt6_info ip6_null_entry_template = {
269 static const struct rt6_info ip6_prohibit_entry_template = {
284 static const struct rt6_info ip6_blk_hole_entry_template = {
302 static inline struct rt6_info *ip6_dst_alloc(struct net *net, in ip6_dst_alloc()
307 struct rt6_info *rt = dst_alloc(&net->ipv6.ip6_dst_ops, dev, in ip6_dst_alloc()
322 struct rt6_info *rt = (struct rt6_info *)dst; in ip6_dst_destroy()
346 struct rt6_info *rt = (struct rt6_info *)dst; in ip6_dst_ifdown()
363 static bool rt6_check_expired(const struct rt6_info *rt) in rt6_check_expired()
369 return rt6_check_expired((struct rt6_info *) rt->dst.from); in rt6_check_expired()
408 static struct rt6_info *rt6_multipath_select(struct rt6_info *match, in rt6_multipath_select()
412 struct rt6_info *sibling, *next_sibling; in rt6_multipath_select()
437 static inline struct rt6_info *rt6_device_match(struct net *net, in rt6_device_match()
438 struct rt6_info *rt, in rt6_device_match()
443 struct rt6_info *local = NULL; in rt6_device_match()
444 struct rt6_info *sprt; in rt6_device_match()
503 static void rt6_probe(struct rt6_info *rt) in rt6_probe()
550 static inline void rt6_probe(struct rt6_info *rt) in rt6_probe()
558 static inline int rt6_check_dev(struct rt6_info *rt, int oif) in rt6_check_dev()
569 static inline enum rt6_nud_state rt6_check_neigh(struct rt6_info *rt) in rt6_check_neigh()
600 static int rt6_score_route(struct rt6_info *rt, int oif, in rt6_score_route()
619 static struct rt6_info *find_match(struct rt6_info *rt, int oif, int strict, in find_match()
620 int *mpri, struct rt6_info *match, in find_match()
650 static struct rt6_info *find_rr_leaf(struct fib6_node *fn, in find_rr_leaf()
651 struct rt6_info *rr_head, in find_rr_leaf()
655 struct rt6_info *rt, *match; in find_rr_leaf()
669 static struct rt6_info *rt6_select(struct fib6_node *fn, int oif, int strict) in rt6_select()
671 struct rt6_info *match, *rt0; in rt6_select()
683 struct rt6_info *next = rt0->dst.rt6_next; in rt6_select()
706 struct rt6_info *rt; in rt6_route_rcv()
790 static struct rt6_info *ip6_pol_route_lookup(struct net *net, in ip6_pol_route_lookup()
795 struct rt6_info *rt; in ip6_pol_route_lookup()
822 struct rt6_info *rt6_lookup(struct net *net, const struct in6_addr *daddr, in rt6_lookup()
839 return (struct rt6_info *) dst; in rt6_lookup()
853 static int __ip6_ins_rt(struct rt6_info *rt, struct nl_info *info, in __ip6_ins_rt()
867 int ip6_ins_rt(struct rt6_info *rt) in ip6_ins_rt()
875 static struct rt6_info *rt6_alloc_cow(struct rt6_info *ort, in rt6_alloc_cow()
879 struct rt6_info *rt; in rt6_alloc_cow()
905 static struct rt6_info *rt6_alloc_clone(struct rt6_info *ort, in rt6_alloc_clone()
908 struct rt6_info *rt = ip6_rt_copy(ort, daddr); in rt6_alloc_clone()
915 static struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, int oif, in ip6_pol_route()
919 struct rt6_info *rt, *nrt; in ip6_pol_route()
994 static struct rt6_info *ip6_pol_route_input(struct net *net, struct fib6_table *table, in ip6_pol_route_input()
1027 static struct rt6_info *ip6_pol_route_output(struct net *net, struct fib6_table *table, in ip6_pol_route_output()
1052 struct rt6_info *rt, *ort = (struct rt6_info *) dst_orig; in ip6_blackhole_route()
1096 struct rt6_info *rt; in ip6_dst_check()
1098 rt = (struct rt6_info *) dst; in ip6_dst_check()
1115 struct rt6_info *rt = (struct rt6_info *) dst; in ip6_negative_advice()
1133 struct rt6_info *rt; in ip6_link_failure()
1137 rt = (struct rt6_info *) skb_dst(skb); in ip6_link_failure()
1152 struct rt6_info *rt6 = (struct rt6_info *)dst; in ip6_rt_update_pmtu()
1201 static struct rt6_info *__ip6_route_redirect(struct net *net, in __ip6_route_redirect()
1207 struct rt6_info *rt; in __ip6_route_redirect()
1367 struct rt6_info *rt; in icmp6_dst_alloc()
1426 static void icmp6_clean_all(int (*func)(struct rt6_info *rt, void *arg), in icmp6_clean_all()
1434 struct rt6_info *rt = (struct rt6_info *) dst; in icmp6_clean_all()
1516 int ip6_route_info_create(struct fib6_config *cfg, struct rt6_info **rt_ret) in ip6_route_info_create()
1520 struct rt6_info *rt = NULL; in ip6_route_info_create()
1655 struct rt6_info *grt; in ip6_route_info_create()
1738 struct rt6_info *rt = NULL; in ip6_route_add()
1761 static int __ip6_del_rt(struct rt6_info *rt, struct nl_info *info) in __ip6_del_rt()
1782 int ip6_del_rt(struct rt6_info *rt) in ip6_del_rt()
1794 struct rt6_info *rt; in ip6_route_del()
1833 struct rt6_info *rt, *nrt = NULL; in rt6_do_redirect()
1891 rt = (struct rt6_info *) dst; in rt6_do_redirect()
1938 rt = (struct rt6_info *) dst_clone(&rt->dst); in rt6_do_redirect()
1950 static struct rt6_info *ip6_rt_copy(struct rt6_info *ort, in ip6_rt_copy()
1954 struct rt6_info *rt = ip6_dst_alloc(net, ort->dst.dev, 0, in ip6_rt_copy()
1989 static struct rt6_info *rt6_get_route_info(struct net *net, in rt6_get_route_info()
1994 struct rt6_info *rt = NULL; in rt6_get_route_info()
2021 static struct rt6_info *rt6_add_route_info(struct net *net, in rt6_add_route_info()
2051 struct rt6_info *rt6_get_dflt_router(const struct in6_addr *addr, struct net_device *dev) in rt6_get_dflt_router()
2053 struct rt6_info *rt; in rt6_get_dflt_router()
2073 struct rt6_info *rt6_add_dflt_router(const struct in6_addr *gwaddr, in rt6_add_dflt_router()
2097 struct rt6_info *rt; in rt6_purge_dflt_routers()
2230 struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev, in addrconf_dst_alloc()
2235 struct rt6_info *rt = ip6_dst_alloc(net, net->loopback_dev, in addrconf_dst_alloc()
2264 struct rt6_info *rt, in ip6_route_get_saddr()
2287 static int fib6_remove_prefsrc(struct rt6_info *rt, void *arg) in fib6_remove_prefsrc()
2317 static int fib6_clean_tohost(struct rt6_info *rt, void *arg) in fib6_clean_tohost()
2339 static int fib6_ifdown(struct rt6_info *rt, void *arg) in fib6_ifdown()
2367 static int rt6_mtu_change_route(struct rt6_info *rt, void *p_arg) in rt6_mtu_change_route()
2521 struct rt6_info *rt6_info; member
2539 struct rt6_info *rt, struct fib6_config *r_cfg) in ip6_route_info_append()
2542 struct rt6_info *rtnh; in ip6_route_info_append()
2547 rtnh = nh->rt6_info; in ip6_route_info_append()
2559 nh->rt6_info = rt; in ip6_route_info_append()
2575 struct rt6_info *rt; in ip6_route_multipath_add()
2623 err = __ip6_ins_rt(nh->rt6_info, &cfg->fc_nlinfo, &nh->mxc); in ip6_route_multipath_add()
2625 nh->rt6_info = NULL; in ip6_route_multipath_add()
2657 if (nh->rt6_info) in ip6_route_multipath_add()
2658 dst_free(&nh->rt6_info->dst); in ip6_route_multipath_add()
2753 struct sk_buff *skb, struct rt6_info *rt, in rt6_fill_node()
2901 int rt6_dump_route(struct rt6_info *rt, void *p_arg) in rt6_dump_route()
2922 struct rt6_info *rt; in inet6_rtm_getroute()
2973 rt = (struct rt6_info *)ip6_route_input_lookup(net, dev, &fl6, in inet6_rtm_getroute()
2978 rt = (struct rt6_info *)ip6_route_output(net, NULL, &fl6); in inet6_rtm_getroute()
3009 void inet6_rt_notify(int event, struct rt6_info *rt, struct nl_info *info) in inet6_rt_notify()
3369 kmem_cache_create("ip6_dst_cache", sizeof(struct rt6_info), 0, in ip6_route_init()