Mark Tomlinson b5e34120b0 gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
[ Upstream commit 272502fcb7cda01ab07fc2fcff82d1d2f73d43cc ]

When receiving an IPv4 packet inside an IPv6 GRE packet, and the
IP6_TNL_F_RCV_DSCP_COPY flag is set on the tunnel, the IPv4 header would
get corrupted. This is due to the common ip6_tnl_rcv() function assuming
that the inner header is always IPv6. This patch checks the tunnel
protocol for IPv4 inner packets, but still defaults to IPv6.

Fixes: 308edfdf1563 ("gre6: Cleanup GREv6 receive path, call common GRE functions")
Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-09-03 11:26:39 +02:00
..
2020-08-11 15:33:36 +02:00
2019-09-26 08:56:17 +02:00
2020-05-20 08:20:08 +02:00
2020-07-22 09:32:46 +02:00
2019-12-04 22:30:54 +01:00
2019-10-24 14:53:48 -07:00
2020-08-19 08:16:23 +02:00
2020-01-17 19:48:52 +01:00
2020-06-24 17:50:44 +02:00