]> git.baikalelectronics.ru Git - kernel.git/commit
vxlan: fix GRO with VXLAN-GPE
authorJiri Benc <jbenc@redhat.com>
Fri, 21 Jul 2023 14:30:47 +0000 (16:30 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Aug 2023 08:23:59 +0000 (10:23 +0200)
commit69534f5ab78449dc568b3beb2f0c06f6c6438cb1
tree31934233ebbac8b01a253f251ab49cc09914bb45
parent9e22b434ff4a5ed1c16faee2be42f1b88650a2eb
vxlan: fix GRO with VXLAN-GPE

[ Upstream commit b0b672c4d0957e5897685667fc848132b8bd2d71 ]

In VXLAN-GPE, there may not be an Ethernet header following the VXLAN
header. But in GRO, the vxlan driver calls eth_gro_receive
unconditionally, which means the following header is incorrectly parsed
as Ethernet.

Introduce GPE specific GRO handling.

For better performance, do not check for GPE during GRO but rather
install a different set of functions at setup time.

Fixes: e1e5314de08ba ("vxlan: implement GPE")
Reported-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Jiri Benc <jbenc@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/vxlan/vxlan_core.c