[RFC] mac80211: assign needed_headroom/tailroom for netdevs

Johannes Berg
2008-05-04T21:24:29Z

This assigns the netdev's needed_headroom/tailroom members
to take advantage of pre-allocated space for 802.11 headers.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
Builds on my other patch to add those fields, of course!

net/mac80211/iface.c | 8 ++++++++
net/mac80211/tx.c | 14 +++++++++-----
2 files changed, 17 insertions(+), 5 deletions(-)

--- everything.orig/net/mac80211/iface.c 2008-05-04 15:40:53.000000000 +0200
+++ everything/net/mac80211/iface.c 2008-05-04 16:08:45.000000000 +0200
@@ -53,6 +53,14 @@ int ieee80211_if_add(struct net_device *
if (!ndev)
return -ENOMEM;

+ ndev->needed_headroom = local->tx_headroom +
+ 4*6 /* four MAC addresses */
+ + 2 + 2 + 2 + 2 /* ctl, dur, seq, qos */
+ + 6 /* mesh */
+ - ETH_HLEN /* ethernet hard_header_len */
+ + IEEE80211_ENCRYPT_HEADROOM;
+ ndev->needed_tailroom = IEEE80211_ENCRYPT_TAILROOM;
+
ret = dev_alloc_name(ndev, ndev->name);
if (ret < 0)
goto fail;