Lines Matching refs:xdst
77 static int xfrm6_fill_dst(struct xfrm_dst *xdst, struct net_device *dev,
80 struct rt6_info *rt = (struct rt6_info *)xdst->route;
82 xdst->u.dst.dev = dev;
85 xdst->u.rt6.rt6i_idev = in6_dev_get(dev);
86 if (!xdst->u.rt6.rt6i_idev) {
93 xdst->u.rt6.rt6i_flags = rt->rt6i_flags & (RTF_ANYCAST |
95 xdst->route_cookie = rt6_get_cookie(rt);
96 xdst->u.rt6.rt6i_gateway = rt->rt6i_gateway;
97 xdst->u.rt6.rt6i_dst = rt->rt6i_dst;
98 xdst->u.rt6.rt6i_src = rt->rt6i_src;
99 INIT_LIST_HEAD(&xdst->u.rt6.rt6i_uncached);
100 rt6_uncached_list_add(&xdst->u.rt6);
110 struct xfrm_dst *xdst = (struct xfrm_dst *)dst;
111 struct dst_entry *path = xdst->route;
119 struct xfrm_dst *xdst = (struct xfrm_dst *)dst;
120 struct dst_entry *path = xdst->route;
127 struct xfrm_dst *xdst = (struct xfrm_dst *)dst;
130 if (xdst->u.rt6.rt6i_uncached_list)
131 rt6_uncached_list_del(&xdst->u.rt6);
132 if (likely(xdst->u.rt6.rt6i_idev))
133 in6_dev_put(xdst->u.rt6.rt6i_idev);
134 xfrm_dst_destroy(xdst);
140 struct xfrm_dst *xdst;
145 xdst = (struct xfrm_dst *)dst;
146 if (xdst->u.rt6.rt6i_idev->dev == dev) {
151 in6_dev_put(xdst->u.rt6.rt6i_idev);
152 xdst->u.rt6.rt6i_idev = loopback_idev;
154 xdst = (struct xfrm_dst *)xfrm_dst_child(&xdst->u.dst);
155 } while (xdst->u.dst.xfrm);