linux/net/wireless
Johannes Berg 463d018323 cfg80211: make aware of net namespaces
In order to make cfg80211/nl80211 aware of network namespaces,
we have to do the following things:

 * del_virtual_intf method takes an interface index rather
   than a netdev pointer - simply change this

 * nl80211 uses init_net a lot, it changes to use the sender's
   network namespace

 * scan requests use the interface index, hold a netdev pointer
   and reference instead

 * we want a wiphy and its associated virtual interfaces to be
   in one netns together, so
    - we need to be able to change ns for a given interface, so
      export dev_change_net_namespace()
    - for each virtual interface set the NETIF_F_NETNS_LOCAL
      flag, and clear that flag only when the wiphy changes ns,
      to disallow breaking this invariant

 * when a network namespace goes away, we need to reparent the
   wiphy to init_net

 * cfg80211 users that support creating virtual interfaces must
   create them in the wiphy's namespace, currently this affects
   only mac80211

The end result is that you can now switch an entire wiphy into
a different network namespace with the new command
	iw phy#<idx> set netns <pid>
and all virtual interfaces will follow (or the operation fails).

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-27 15:24:07 -04:00
..
core.c cfg80211: make aware of net namespaces 2009-07-27 15:24:07 -04:00
core.h cfg80211: make aware of net namespaces 2009-07-27 15:24:07 -04:00
debugfs.c cfg80211: clean up naming once and for all 2009-07-10 15:02:33 -04:00
debugfs.h cfg80211: clean up naming once and for all 2009-07-10 15:02:33 -04:00
ibss.c cfg80211: fix NULL dereference in IBSS SIOCGIWAP 2009-07-24 15:05:09 -04:00
Kconfig cfg80211: implement iwpower 2009-07-10 15:01:51 -04:00
lib80211_crypt_ccmp.c lib80211: silence excessive crypto debugging messages 2009-03-16 18:01:58 -04:00
lib80211_crypt_tkip.c lib80211: silence excessive crypto debugging messages 2009-03-16 18:01:58 -04:00
lib80211_crypt_wep.c lib80211: absorb crypto bits from net/ieee80211 2008-11-21 11:08:17 -05:00
lib80211.c lib80211: consolidate crypt init routines 2008-11-21 11:08:17 -05:00
Makefile cfg80211: managed mode wext compatibility 2009-07-10 15:01:51 -04:00
mlme.c cfg80211: fix more bugs in mlme handling 2009-07-24 15:05:12 -04:00
nl80211.c cfg80211: make aware of net namespaces 2009-07-27 15:24:07 -04:00
nl80211.h cfg80211: fix locking 2009-07-10 15:02:32 -04:00
radiotap.c wireless: use get/put_unaligned_* helpers 2008-05-14 16:29:32 -04:00
reg.c cfg80211: treat ieee80211_regdom hints as user hints 2009-07-24 15:05:19 -04:00
reg.h cfg80211: make __regulatory_hint() static 2009-02-27 14:52:59 -05:00
scan.c cfg80211: make aware of net namespaces 2009-07-27 15:24:07 -04:00
sme.c cfg80211: make aware of net namespaces 2009-07-27 15:24:07 -04:00
sysfs.c cfg80211: rename cfg80211_registered_device's idx to wiphy_idx 2009-02-27 14:52:54 -05:00
sysfs.h [WIRELESS] cfg80211: New wireless config infrastructure. 2007-04-25 22:29:41 -07:00
util.c cfg80211: avoid setting default_key if add_key fails 2009-07-24 15:05:29 -04:00
wext-compat.c cfg80211: set_default_key only for WEP 2009-07-24 15:05:27 -04:00
wext-sme.c cfg80211: don't optimise wext calls too much 2009-07-24 15:05:21 -04:00
wext.c net/compat/wext: send different messages to compat tasks 2009-07-15 08:53:39 -07:00