summaryrefslogtreecommitdiffstats
path: root/net/ipv4/gre_demux.c
diff options
context:
space:
mode:
authorTom Herbert <therbert@google.com>2014-08-22 13:34:52 -0700
committerDavid S. Miller <davem@davemloft.net>2014-08-24 18:09:24 -0700
commit48a5fc773190bd5339869003fa65d38559bb8890 (patch)
treeffcf7e1f7bddfa61924e258facdd367027573922 /net/ipv4/gre_demux.c
parent57c67ff4bd92af634f7c91c40eb02a96dd785dda (diff)
downloadlinux-48a5fc773190bd5339869003fa65d38559bb8890.tar.bz2
gre: When GRE csum is present count as encap layer wrt csum
In GRE demux if the GRE checksum pop rcv encapsulation so that any encapsulated checksums are treated as tunnel checksums. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/gre_demux.c')
-rw-r--r--net/ipv4/gre_demux.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/gre_demux.c b/net/ipv4/gre_demux.c
index 0485bf7f8f03..7c1a8ff974dd 100644
--- a/net/ipv4/gre_demux.c
+++ b/net/ipv4/gre_demux.c
@@ -125,6 +125,7 @@ static int parse_gre_header(struct sk_buff *skb, struct tnl_ptk_info *tpi,
*csum_err = true;
return -EINVAL;
}
+ skb_pop_rcv_encapsulation(skb);
options++;
}