On Sun, 2008-05-04 at 10:47 +0200, Johannes Berg wrote:
On Sun, 2008-05-04 at 11:16 +0800, Herbert Xu wrote:
quoted
On Sun, May 04, 2008 at 04:22:20AM +0200, Johannes Berg wrote:
quoted
Yes, wireless always needs at least 24 bytes, but more likely 34
(encryption+QoS). However, I just increased LL_MAX_HEADER to 54 and that
doesn't seem to have helped.
How did you test it?
I stuck a WARN_ON((nhead || ntail) && skb->sk) into pskb_expand_head
(which never triggered except from mac80211). And mac80211 has code that
calculates the required header length and only calls pskb_expand_head()
from that place when it needs more header space (or the skb is cloned. I
should repeat this test)
I just re-did the test, and I definitely need 29 more bytes on, for
example, the IPv6 autodiscovery packets and ICMP packets generated with
ping(8). Some of them even need additional tailroom.
johannes