Lines Matching refs:rt
153 struct rt6_info *rt = (struct rt6_info *) dst; in ip6_tnl_dst_store() local
154 t->dst_cookie = rt->rt6i_node ? rt->rt6i_node->fn_sernum : 0; in ip6_tnl_dst_store()
578 struct rtable *rt; in ip4ip6_err() local
623 rt = ip_route_output_ports(dev_net(skb->dev), &fl4, NULL, in ip4ip6_err()
627 if (IS_ERR(rt)) in ip4ip6_err()
630 skb2->dev = rt->dst.dev; in ip4ip6_err()
633 if (rt->rt_flags & RTCF_LOCAL) { in ip4ip6_err()
634 ip_rt_put(rt); in ip4ip6_err()
635 rt = NULL; in ip4ip6_err()
636 rt = ip_route_output_ports(dev_net(skb->dev), &fl4, NULL, in ip4ip6_err()
641 if (IS_ERR(rt) || in ip4ip6_err()
642 rt->dst.dev->type != ARPHRD_TUNNEL) { in ip4ip6_err()
643 if (!IS_ERR(rt)) in ip4ip6_err()
644 ip_rt_put(rt); in ip4ip6_err()
647 skb_dst_set(skb2, &rt->dst); in ip4ip6_err()
649 ip_rt_put(rt); in ip4ip6_err()
689 struct rt6_info *rt; in ip6ip6_err() local
700 rt = rt6_lookup(dev_net(skb->dev), &ipv6_hdr(skb2)->saddr, in ip6ip6_err()
703 if (rt && rt->dst.dev) in ip6ip6_err()
704 skb2->dev = rt->dst.dev; in ip6ip6_err()
708 ip6_rt_put(rt); in ip6ip6_err()
1271 struct rt6_info *rt = rt6_lookup(t->net, in ip6_tnl_link_config() local
1275 if (!rt) in ip6_tnl_link_config()
1278 if (rt->dst.dev) { in ip6_tnl_link_config()
1279 dev->hard_header_len = rt->dst.dev->hard_header_len + in ip6_tnl_link_config()
1282 dev->mtu = rt->dst.dev->mtu - sizeof(struct ipv6hdr); in ip6_tnl_link_config()
1289 ip6_rt_put(rt); in ip6_tnl_link_config()