]> 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)
commitd5b7c89b7044e48d58cd94d5434c454d27302e2b
tree5309d64f0d6eed047d09b34868477056269db5e5
parentdbe73c57b4e994d8484a1b9ad351a2f1843a227b
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: 4a2ab5ea470e ("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