On Sun, 2019-03-17 at 19:18 +0100, Felix Fietkau wrote: > When forwarding unicast packets from ethernet to batman-adv over 802.11s > (with forwarding disabled), the typical required headroom to transmit > encrypted packets on mt76 is 32 (802.11) + 6 (802.11s) + 8 (CCMP) + > 2 (padding) + 6 (LLC) + 18 (batman-adv) - 14 (old ethernet header) = 58 bytes. > > On systems where NET_SKB_PAD is 64 this leads to a call to pskb_expand_head > for every packet, since mac80211 also tries to allocate 16 bytes status > headroom for radiotap headers. > > This patch fixes these unnecessary reallocations by only requiring the extra > status headroom in ieee80211_tx_monitor() > If however a reallocation happens before that call, the status headroom gets > added there as well, in order to avoid double reallocation. > > The patch also cleans up the code by moving the headroom calculation to > ieee80211_skb_resize. This doesn't apply, not really sure why. johannes