Lines Matching refs:dst
35 struct dst_entry *dst; in xfrm6_dst_lookup() local
45 dst = ip6_route_output(net, NULL, &fl6); in xfrm6_dst_lookup()
47 err = dst->error; in xfrm6_dst_lookup()
48 if (dst->error) { in xfrm6_dst_lookup()
49 dst_release(dst); in xfrm6_dst_lookup()
50 dst = ERR_PTR(err); in xfrm6_dst_lookup()
53 return dst; in xfrm6_dst_lookup()
59 struct dst_entry *dst; in xfrm6_get_saddr() local
62 dst = xfrm6_dst_lookup(net, 0, oif, NULL, daddr); in xfrm6_get_saddr()
63 if (IS_ERR(dst)) in xfrm6_get_saddr()
66 dev = ip6_dst_idev(dst)->dev; in xfrm6_get_saddr()
68 dst_release(dst); in xfrm6_get_saddr()
77 static int xfrm6_init_path(struct xfrm_dst *path, struct dst_entry *dst, in xfrm6_init_path() argument
80 if (dst->ops->family == AF_INET6) { in xfrm6_init_path()
81 struct rt6_info *rt = (struct rt6_info *)dst; in xfrm6_init_path()
95 xdst->u.dst.dev = dev; in xfrm6_fill_dst()
227 static void xfrm6_update_pmtu(struct dst_entry *dst, struct sock *sk, in xfrm6_update_pmtu() argument
230 struct xfrm_dst *xdst = (struct xfrm_dst *)dst; in xfrm6_update_pmtu()
236 static void xfrm6_redirect(struct dst_entry *dst, struct sock *sk, in xfrm6_redirect() argument
239 struct xfrm_dst *xdst = (struct xfrm_dst *)dst; in xfrm6_redirect()
245 static void xfrm6_dst_destroy(struct dst_entry *dst) in xfrm6_dst_destroy() argument
247 struct xfrm_dst *xdst = (struct xfrm_dst *)dst; in xfrm6_dst_destroy()
251 dst_destroy_metrics_generic(dst); in xfrm6_dst_destroy()
255 static void xfrm6_dst_ifdown(struct dst_entry *dst, struct net_device *dev, in xfrm6_dst_ifdown() argument
263 xdst = (struct xfrm_dst *)dst; 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()
279 xfrm_dst_ifdown(dst, dev); in xfrm6_dst_ifdown()