Lines Matching defs:dst
203 struct dst_entry *dst;
214 dst = ip6_route_output(net, sk, fl6);
215 if (dst->error) {
216 IP6_INC_STATS(net, ip6_dst_idev(dst),
218 } else if (dst->dev && (dst->dev->flags&IFF_LOOPBACK)) {
221 struct rt6_info *rt = (struct rt6_info *)dst;
234 dst_release(dst);
242 struct dst_entry *dst;
245 dst = ip6_route_output(net, sk, fl6);
246 if (!dst->error) {
247 struct rt6_info *rt = (struct rt6_info *)dst;
253 dst_release(dst);
361 struct dst_entry *dst, *dst2;
365 err = ip6_dst_lookup(net, sk, &dst, fl6);
373 if (ipv6_anycast_destination(dst, &fl6->daddr)) {
375 dst_release(dst);
380 dst2 = dst;
382 dst = xfrm_lookup(net, dst, flowi6_to_flowi(fl6), sk, 0);
383 if (!IS_ERR(dst)) {
384 if (dst != dst2)
385 return dst;
387 if (PTR_ERR(dst) == -EPERM)
388 dst = NULL;
390 return dst;
403 dst_release(dst);
404 dst = dst2;
408 dst_release(dst);
415 if (dst)
416 return dst;
425 * device. Check if there is a dst attached to the skb and if so
460 struct dst_entry *dst;
600 dst = icmpv6_route_lookup(net, skb, sk, &fl6);
601 if (IS_ERR(dst))
604 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst);
624 &ipc6, &fl6, (struct rt6_info *)dst,
634 dst_release(dst);
683 if (rt && rt->dst.dev)
684 skb2->dev = rt->dst.dev;
727 struct dst_entry *dst;
774 if (ip6_dst_lookup(net, sk, &dst, &fl6))
776 dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), sk, 0);
777 if (IS_ERR(dst))
792 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst);
799 (struct rt6_info *)dst, MSG_DONTWAIT)) {
807 dst_release(dst);