diff options
author | Tom Herbert <therbert@google.com> | 2014-09-01 00:12:44 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-09-02 06:36:28 +0200 |
commit | 884d338c041c2aa4536ade8620efa585e7c57f3c (patch) | |
tree | 32c9366b0be384255f9f8a27b1a56d902b0f496e /net/ipv4/gre_demux.c | |
parent | udp: Add support for doing checksum unnecessary conversion (diff) | |
download | linux-884d338c041c2aa4536ade8620efa585e7c57f3c.tar.xz linux-884d338c041c2aa4536ade8620efa585e7c57f3c.zip |
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.c | 4 |
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++; } |