]> git.baikalelectronics.ru Git - kernel.git/commit
batman-adv: Reserve needed_*room for fragments
authorSven Eckelmann <sven@narfation.org>
Wed, 25 Nov 2020 12:16:43 +0000 (13:16 +0100)
committerSimon Wunderlich <sw@simonwunderlich.de>
Fri, 27 Nov 2020 07:02:55 +0000 (08:02 +0100)
commitef8fe0f95ed30dbff5013e5df2ea1a2cb99af10e
tree5309d64f0d6eed047d09b34868477056269db5e5
parentf72781ff2a8e9b7ec3ccbe217d477f5f2503b41e
batman-adv: Reserve needed_*room for fragments

The batadv net_device is trying to propagate the needed_headroom and
needed_tailroom from the lower devices. This is needed to avoid cost
intensive reallocations using pskb_expand_head during the transmission.

But the fragmentation code split the skb's without adding extra room at the
end/beginning of the various fragments. This reduced the performance of
transmissions over complex scenarios (batadv on vxlan on wireguard) because
the lower devices had to perform the reallocations at least once.

Fixes: f058d0a8b8cc ("batman-adv: Fragment and send skbs larger than mtu")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
net/batman-adv/fragmentation.c