Lines Matching refs:xdst
90 static int xfrm6_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, in xfrm6_fill_dst() argument
93 struct rt6_info *rt = (struct rt6_info *)xdst->route; in xfrm6_fill_dst()
95 xdst->u.dst.dev = dev; in xfrm6_fill_dst()
98 xdst->u.rt6.rt6i_idev = in6_dev_get(dev); in xfrm6_fill_dst()
99 if (!xdst->u.rt6.rt6i_idev) { in xfrm6_fill_dst()
106 xdst->u.rt6.rt6i_flags = rt->rt6i_flags & (RTF_ANYCAST | in xfrm6_fill_dst()
108 xdst->u.rt6.rt6i_metric = rt->rt6i_metric; in xfrm6_fill_dst()
109 xdst->u.rt6.rt6i_node = rt->rt6i_node; in xfrm6_fill_dst()
110 xdst->route_cookie = rt6_get_cookie(rt); in xfrm6_fill_dst()
111 xdst->u.rt6.rt6i_gateway = rt->rt6i_gateway; in xfrm6_fill_dst()
112 xdst->u.rt6.rt6i_dst = rt->rt6i_dst; in xfrm6_fill_dst()
113 xdst->u.rt6.rt6i_src = rt->rt6i_src; in xfrm6_fill_dst()
230 struct xfrm_dst *xdst = (struct xfrm_dst *)dst; in xfrm6_update_pmtu() local
231 struct dst_entry *path = xdst->route; in xfrm6_update_pmtu()
239 struct xfrm_dst *xdst = (struct xfrm_dst *)dst; in xfrm6_redirect() local
240 struct dst_entry *path = xdst->route; in xfrm6_redirect()
247 struct xfrm_dst *xdst = (struct xfrm_dst *)dst; in xfrm6_dst_destroy() local
249 if (likely(xdst->u.rt6.rt6i_idev)) in xfrm6_dst_destroy()
250 in6_dev_put(xdst->u.rt6.rt6i_idev); in xfrm6_dst_destroy()
252 xfrm_dst_destroy(xdst); in xfrm6_dst_destroy()
258 struct xfrm_dst *xdst; in xfrm6_dst_ifdown() local
263 xdst = (struct xfrm_dst *)dst; in xfrm6_dst_ifdown()
264 if (xdst->u.rt6.rt6i_idev->dev == dev) { in xfrm6_dst_ifdown()
270 in6_dev_put(xdst->u.rt6.rt6i_idev); in xfrm6_dst_ifdown()
271 xdst->u.rt6.rt6i_idev = loopback_idev; in xfrm6_dst_ifdown()
273 xdst = (struct xfrm_dst *)xdst->u.dst.child; in xfrm6_dst_ifdown()
274 } while (xdst->u.dst.xfrm); in xfrm6_dst_ifdown()