remarkable-linux/net/mac80211
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
..
aes_ccm.c
aes_ccm.h
aes_cmac.c mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
aes_cmac.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
agg-rx.c mac80211: Add a timeout for frames in the RX reorder buffer 2009-05-06 15:15:04 -04:00
agg-tx.c mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
cfg.c cfg80211: make aware of net namespaces 2009-07-27 15:24:07 -04:00
cfg.h
debugfs.c mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
debugfs.h
debugfs_key.c mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_netdev.c mac80211: rework MLME for multiple authentications 2009-07-10 15:02:30 -04:00
debugfs_netdev.h
debugfs_sta.c mac80211: improve per-sta debugfs 2009-07-10 14:57:54 -04:00
debugfs_sta.h
driver-ops.h mac80211: driver operation debugging 2009-07-24 15:05:06 -04:00
driver-trace.c mac80211: driver operation debugging 2009-07-24 15:05:06 -04:00
driver-trace.h mac80211: fix spare warnings in driver-trace.h 2009-07-24 15:05:27 -04:00
event.c cfg80211: use proper allocation flags 2009-07-10 15:01:49 -04:00
ht.c cfg80211: clean up includes 2009-04-22 16:57:17 -04:00
ibss.c cfg80211: rework key operation 2009-07-24 15:05:09 -04:00
ieee80211_i.h mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
iface.c mac80211: cooperate more with network namespaces 2009-07-27 15:24:06 -04:00
Kconfig mac80211: driver operation debugging 2009-07-24 15:05:06 -04:00
key.c mac80211: fix todo lock 2009-07-10 15:01:48 -04:00
key.h nl80211: Add RSC configuration for new keys 2009-05-13 15:44:39 -04:00
led.c
led.h
main.c mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
Makefile mac80211: driver operation debugging 2009-07-24 15:05:06 -04:00
mesh.c mac80211: mesh: fix two small problems 2009-07-24 15:05:10 -04:00
mesh.h mac80211: push rx status into skb->cb 2009-07-10 14:57:54 -04:00
mesh_hwmp.c mac80211: Fix regression in mesh forwarding path. 2009-07-24 15:05:31 -04:00
mesh_pathtbl.c mac80211: Fix regression in mesh forwarding path. 2009-07-24 15:05:31 -04:00
mesh_plink.c mac80211: cancel/restart all timers across suspend/resume 2009-05-20 14:46:25 -04:00
michael.c
michael.h
mlme.c mac80211: do not monitor the connection while scanning 2009-07-24 15:05:27 -04:00
pm.c mac80211: cancel/restart all timers across suspend/resume 2009-05-20 14:46:25 -04:00
rate.c mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
rate.h mac80211: rate control status only for controlled packets 2009-03-27 20:13:15 -04:00
rc80211_minstrel.c mac80211: add helper for management / no-ack frame rate decision 2009-07-24 15:05:16 -04:00
rc80211_minstrel.h
rc80211_minstrel_debugfs.c
rc80211_pid.h
rc80211_pid_algo.c mac80211: add helper for management / no-ack frame rate decision 2009-07-24 15:05:16 -04:00
rc80211_pid_debugfs.c
rx.c mac80211: cooperate more with network namespaces 2009-07-27 15:24:06 -04:00
scan.c mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
spectmgmt.c mac80211: move channel switch code 2009-05-20 14:46:25 -04:00
sta_info.c mac80211: extend sta kdoc - explain when they are added 2009-06-03 14:06:15 -04:00
sta_info.h mac80211: improve per-sta debugfs 2009-07-10 14:57:54 -04:00
tkip.c mac80211: add driver ops wrappers 2009-05-06 15:14:37 -04:00
tkip.h
tx.c mac80211: cooperate more with network namespaces 2009-07-27 15:24:06 -04:00
util.c mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
wep.c cfg80211: rework key operation 2009-07-24 15:05:09 -04:00
wep.h cfg80211: rework key operation 2009-07-24 15:05:09 -04:00
wext.c cfg80211: implement get_wireless_stats 2009-07-10 15:01:52 -04:00
wme.c mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
wme.h mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
wpa.c cfg80211: use proper allocation flags 2009-07-10 15:01:49 -04:00
wpa.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00