Lines Matching refs:pcpu_rt
974 struct rt6_info *pcpu_rt; in ip6_rt_pcpu_alloc() local
976 pcpu_rt = __ip6_dst_alloc(dev_net(rt->dst.dev), in ip6_rt_pcpu_alloc()
979 if (!pcpu_rt) in ip6_rt_pcpu_alloc()
981 ip6_rt_copy_init(pcpu_rt, rt); in ip6_rt_pcpu_alloc()
982 pcpu_rt->rt6i_protocol = rt->rt6i_protocol; in ip6_rt_pcpu_alloc()
983 pcpu_rt->rt6i_flags |= RTF_PCPU; in ip6_rt_pcpu_alloc()
984 return pcpu_rt; in ip6_rt_pcpu_alloc()
990 struct rt6_info *pcpu_rt, **p; in rt6_get_pcpu_route() local
993 pcpu_rt = *p; in rt6_get_pcpu_route()
995 if (pcpu_rt) { in rt6_get_pcpu_route()
996 dst_hold(&pcpu_rt->dst); in rt6_get_pcpu_route()
997 rt6_dst_from_metrics_check(pcpu_rt); in rt6_get_pcpu_route()
999 return pcpu_rt; in rt6_get_pcpu_route()
1005 struct rt6_info *pcpu_rt, *prev, **p; in rt6_make_pcpu_route() local
1007 pcpu_rt = ip6_rt_pcpu_alloc(rt); in rt6_make_pcpu_route()
1008 if (!pcpu_rt) { in rt6_make_pcpu_route()
1018 prev = cmpxchg(p, NULL, pcpu_rt); in rt6_make_pcpu_route()
1021 dst_destroy(&pcpu_rt->dst); in rt6_make_pcpu_route()
1022 pcpu_rt = prev; in rt6_make_pcpu_route()
1031 dst_destroy(&pcpu_rt->dst); in rt6_make_pcpu_route()
1032 pcpu_rt = rt; in rt6_make_pcpu_route()
1034 dst_hold(&pcpu_rt->dst); in rt6_make_pcpu_route()
1035 rt6_dst_from_metrics_check(pcpu_rt); in rt6_make_pcpu_route()
1037 return pcpu_rt; in rt6_make_pcpu_route()
1109 struct rt6_info *pcpu_rt; in ip6_pol_route() local
1113 pcpu_rt = rt6_get_pcpu_route(rt); in ip6_pol_route()
1115 if (pcpu_rt) { in ip6_pol_route()
1124 pcpu_rt = rt6_make_pcpu_route(rt); in ip6_pol_route()
1128 return pcpu_rt; in ip6_pol_route()