summaryrefslogtreecommitdiff
path: root/net/ipv4/gre_demux.c
diff options
context:
space:
mode:
authorTom Herbert <therbert@google.com>2014-09-01 02:12:44 +0400
committerDavid S. Miller <davem@davemloft.net>2014-09-02 08:36:28 +0400
commit884d338c041c2aa4536ade8620efa585e7c57f3c (patch)
tree32c9366b0be384255f9f8a27b1a56d902b0f496e /net/ipv4/gre_demux.c
parent2abb7cdc0dc84e99b76ef983a1ae1978922aa9b3 (diff)
downloadlinux-884d338c041c2aa4536ade8620efa585e7c57f3c.tar.xz
gre: Add support for checksum unnecessary conversions
Call skb_checksum_try_convert and skb_gro_checksum_try_convert after checksum is found present and validated in the GRE header for normal and GRO paths respectively. In GRO path, call skb_gro_checksum_try_convert 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.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/gre_demux.c b/net/ipv4/gre_demux.c
index 0485bf7f8f03..7e0756da8737 100644
--- a/net/ipv4/gre_demux.c
+++ b/net/ipv4/gre_demux.c
@@ -125,6 +125,10 @@ static int parse_gre_header(struct sk_buff *skb, struct tnl_ptk_info *tpi,
*csum_err = true;
return -EINVAL;
}
+
+ skb_checksum_try_convert(skb, IPPROTO_GRE, 0,
+ null_compute_pseudo);
+
options++;
}