Lines Matching refs:rt
639 static int geneve_build_skb(struct rtable *rt, struct sk_buff *skb, in geneve_build_skb() argument
649 min_headroom = LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len in geneve_build_skb()
670 ip_rt_put(rt); in geneve_build_skb()
717 struct rtable *rt = NULL; in geneve_get_v4_rt() local
740 rt = ip_route_output_key(geneve->net, fl4); in geneve_get_v4_rt()
741 if (IS_ERR(rt)) { in geneve_get_v4_rt()
745 if (rt->dst.dev == dev) { /* is this necessary? */ in geneve_get_v4_rt()
747 ip_rt_put(rt); in geneve_get_v4_rt()
750 return rt; in geneve_get_v4_rt()
817 struct rtable *rt = NULL; in geneve_xmit_skb() local
836 rt = geneve_get_v4_rt(skb, dev, &fl4, info); in geneve_xmit_skb()
837 if (IS_ERR(rt)) { in geneve_xmit_skb()
838 err = PTR_ERR(rt); in geneve_xmit_skb()
857 err = geneve_build_skb(rt, skb, key->tun_flags, vni, in geneve_xmit_skb()
867 err = geneve_build_skb(rt, skb, 0, geneve->vni, in geneve_xmit_skb()
876 ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); in geneve_xmit_skb()
879 err = udp_tunnel_xmit_skb(rt, gs4->sock->sk, skb, fl4.saddr, fl4.daddr, in geneve_xmit_skb()
1012 struct rtable *rt; in geneve_fill_metadata_dst() local
1020 rt = geneve_get_v4_rt(skb, dev, &fl4, info); in geneve_fill_metadata_dst()
1021 if (IS_ERR(rt)) in geneve_fill_metadata_dst()
1022 return PTR_ERR(rt); in geneve_fill_metadata_dst()
1024 ip_rt_put(rt); in geneve_fill_metadata_dst()