mac80211: cooperate more with network namespaces
authorJohannes Berg <johannes@sipsolutions.net>
Mon, 13 Jul 2009 22:33:34 +0000 (00:33 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 27 Jul 2009 19:24:06 +0000 (15:24 -0400)
commit5061b0c2b9066de426fbc63f1278d2210e789412
tree4658cb1a75c2ac37e2eebb3dd67cb3c975297b1f
parent70034918930d2e5b68c09bced637228c50d9561a
mac80211: cooperate more with network namespaces

There are still two places in mac80211 that hardcode
the initial net namespace (init_net). One of them is
mandated by cfg80211 and will be removed by a separate
patch, the other one is used for finding the network
device of a pending packet via its ifindex.

Remove the latter use by keeping track of the device
pointer itself, via the vif pointer, and avoid it
going stale by dropping pending frames for a given
interface when the interface is removed.

To keep track of the vif pointer for the correct
interface, change the info->control.vif pointer's
internal use to always be the correct vif, and only
move it to the vif the driver expects (or NULL for
monitor interfaces and injected packets) right before
giving the packet to the driver.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/iface.c
net/mac80211/rx.c
net/mac80211/tx.c