Lines Matching refs:dst
19 #include <net/dst.h>
32 struct dst_entry *dst;
42 dst = ip6_route_output(net, NULL, &fl6);
44 err = dst->error;
45 if (dst->error) {
46 dst_release(dst);
47 dst = ERR_PTR(err);
50 return dst;
57 struct dst_entry *dst;
60 dst = xfrm6_dst_lookup(net, 0, oif, NULL, daddr, mark);
61 if (IS_ERR(dst))
64 dev = ip6_dst_idev(dst)->dev;
66 dst_release(dst);
75 xdst->u.dst.dev = dev;
76 netdev_hold(dev, &xdst->u.dst.dev_tracker, GFP_ATOMIC);
80 netdev_put(dev, &xdst->u.dst.dev_tracker);
97 static void xfrm6_update_pmtu(struct dst_entry *dst, struct sock *sk,
101 struct xfrm_dst *xdst = (struct xfrm_dst *)dst;
107 static void xfrm6_redirect(struct dst_entry *dst, struct sock *sk,
110 struct xfrm_dst *xdst = (struct xfrm_dst *)dst;
116 static void xfrm6_dst_destroy(struct dst_entry *dst)
118 struct xfrm_dst *xdst = (struct xfrm_dst *)dst;
120 dst_destroy_metrics_generic(dst);
127 static void xfrm6_dst_ifdown(struct dst_entry *dst, struct net_device *dev)
131 xdst = (struct xfrm_dst *)dst;
140 xdst = (struct xfrm_dst *)xfrm_dst_child(&xdst->u.dst);
141 } while (xdst->u.dst.xfrm);
146 xfrm_dst_ifdown(dst, dev);