diff options
author | Jerry Chu <hkchu@google.com> | 2014-07-14 15:54:46 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-07-16 14:45:26 -0700 |
commit | c3caf1192f904de2f1381211f564537235d50de3 (patch) | |
tree | 06fb9dd668fe6f670ef5de68af8c2fe881e8029b /net/ipv4/af_inet.c | |
parent | b6603fe574af289dbe9eb9fb4c540bca04f5a053 (diff) | |
download | linux-c3caf1192f904de2f1381211f564537235d50de3.tar.bz2 |
net-gre-gro: Fix a bug that breaks the forwarding path
Fixed a bug that was introduced by my GRE-GRO patch
(bf5a755f5e9186406bbf50f4087100af5bd68e40 net-gre-gro: Add GRE
support to the GRO stack) that breaks the forwarding path
because various GSO related fields were not set. The bug will
cause on the egress path either the GSO code to fail, or a
GRE-TSO capable (NETIF_F_GSO_GRE) NICs to choke. The following
fix has been tested for both cases.
Signed-off-by: H.K. Jerry Chu <hkchu@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/af_inet.c')
-rw-r--r-- | net/ipv4/af_inet.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index d5e6836cf772..d156b3c5f363 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c @@ -1429,6 +1429,9 @@ static int inet_gro_complete(struct sk_buff *skb, int nhoff) int proto = iph->protocol; int err = -ENOSYS; + if (skb->encapsulation) + skb_set_inner_network_header(skb, nhoff); + csum_replace2(&iph->check, iph->tot_len, newlen); iph->tot_len = newlen; |