diff options
author | Pravin B Shelar <pshelar@nicira.com> | 2013-05-02 20:14:19 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-05-04 00:08:58 +0400 |
commit | 9b3eb5edf33897dc9128aa27300066153d4f8b9c (patch) | |
tree | f4881f9cc2e54a7741ba4b0ef9e04e4094c2c43d /net/ipv4/af_inet.c | |
parent | 83401eb4990ff6af55aeed8f49681558544192e6 (diff) | |
download | linux-9b3eb5edf33897dc9128aa27300066153d4f8b9c.tar.xz |
gre: Fix GREv4 TCPv6 segmentation.
For ipv6 traffic, GRE can generate packet with strange GSO
bits, e.g. ipv4 packet with SKB_GSO_TCPV6 flag set. Therefore
following patch relaxes check in inet gso handler to allow
such packet for segmentation.
This patch also fixes wrong skb->protocol set that was done in
gre_gso_segment() handler.
Reported-by: Steinar H. Gunderson <sesse@google.com>
CC: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Eric Dumazet <edumazet@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 | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index c61b3bb87a16..d01be2a3ae53 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c @@ -1293,6 +1293,7 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb, SKB_GSO_DODGY | SKB_GSO_TCP_ECN | SKB_GSO_GRE | + SKB_GSO_TCPV6 | SKB_GSO_UDP_TUNNEL | 0))) goto out; |