Merge branch 'mainstream'
[sliver-openvswitch.git] / datapath / linux / compat / ip_tunnels_core.c
index 03c47a2..f9f6cae 100644 (file)
@@ -31,7 +31,6 @@
 #include <net/route.h>
 #include <net/xfrm.h>
 
-#include "checksum.h"
 #include "compat.h"
 #include "gso.h"
 
@@ -68,9 +67,7 @@ int iptunnel_xmit(struct net *net, struct rtable *rt,
        iph->daddr      =       dst;
        iph->saddr      =       src;
        iph->ttl        =       ttl;
-       tunnel_ip_select_ident(skb,
-                              (const struct iphdr *)skb_inner_network_header(skb),
-                              &rt_dst(rt));
+       __ip_select_ident(iph, &rt_dst(rt), (skb_shinfo(skb)->gso_segs ?: 1) - 1);
 
        err = ip_local_out(skb);
        if (unlikely(net_xmit_eval(err)))
@@ -102,9 +99,6 @@ int iptunnel_pull_header(struct sk_buff *skb, int hdr_len, __be16 inner_proto)
                skb->protocol = inner_proto;
        }
 
-       if (unlikely(compute_ip_summed(skb, false)))
-               return -EPROTO;
-
        nf_reset(skb);
        secpath_reset(skb);
        skb_clear_rxhash(skb);