Lines Matching refs:rt
637 struct rtable *rt; in ip4ip6_err() local
682 rt = ip_route_output_ports(dev_net(skb->dev), &fl4, NULL, in ip4ip6_err()
686 if (IS_ERR(rt)) in ip4ip6_err()
689 skb2->dev = rt->dst.dev; in ip4ip6_err()
692 if (rt->rt_flags & RTCF_LOCAL) { in ip4ip6_err()
693 ip_rt_put(rt); in ip4ip6_err()
694 rt = NULL; in ip4ip6_err()
695 rt = ip_route_output_ports(dev_net(skb->dev), &fl4, NULL, in ip4ip6_err()
700 if (IS_ERR(rt) || in ip4ip6_err()
701 rt->dst.dev->type != ARPHRD_TUNNEL) { in ip4ip6_err()
702 if (!IS_ERR(rt)) in ip4ip6_err()
703 ip_rt_put(rt); in ip4ip6_err()
706 skb_dst_set(skb2, &rt->dst); in ip4ip6_err()
708 ip_rt_put(rt); in ip4ip6_err()
748 struct rt6_info *rt; in ip6ip6_err() local
759 rt = rt6_lookup(dev_net(skb->dev), &ipv6_hdr(skb2)->saddr, in ip6ip6_err()
762 if (rt && rt->dst.dev) in ip6ip6_err()
763 skb2->dev = rt->dst.dev; in ip6ip6_err()
767 ip6_rt_put(rt); in ip6ip6_err()
1329 struct rt6_info *rt = rt6_lookup(t->net, in ip6_tnl_link_config() local
1333 if (!rt) in ip6_tnl_link_config()
1336 if (rt->dst.dev) { in ip6_tnl_link_config()
1337 dev->hard_header_len = rt->dst.dev->hard_header_len + in ip6_tnl_link_config()
1340 dev->mtu = rt->dst.dev->mtu - sizeof(struct ipv6hdr); in ip6_tnl_link_config()
1347 ip6_rt_put(rt); in ip6_tnl_link_config()