mac80211_hwsim: Allow managing radios from non-initial namespaces
authorMartin Willi <martin@strongswan.org>
Mon, 9 May 2016 16:33:59 +0000 (18:33 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 31 May 2016 09:36:34 +0000 (11:36 +0200)
commit100cb9ff40e0c9eba1d88e3c9c21e9670faeb896
treed7bd5e666018bf601a06903f4289e83c8ad58970
parent5617c6cd6f844eaa2f4d61f165b7e6664a658865
mac80211_hwsim: Allow managing radios from non-initial namespaces

While wiphys can be moved into network namespaces over nl80211, the
creation and removal of hwsim radios is currently limited to the initial
namespace. This patch allows management of namespaced radios from the
owning namespace by setting genetlink netnsok.

To prevent two arbitrary namespaces to communicate over the simulated
shared medium, radios are separated by netgroups. Each radio created in
the same namespace lives in the same netgroup and hence can communicate
with other radios in that group. When moving radios to other namespaces,
the netgroup is preserved, so two radios having the same netgroup can
communicate even if not in the same namespace; This allows a controlling
namespace to create radios and move them to other namespaces for
communication.

When a net namespace owning a radio exits, the radio is destroyed unless
it was created in the initial network namespace. This keeps the previous
behavior by returning them to the init namespace, but prevents unprivileged
users from creating radios in the initial namespace.

Signed-off-by: Martin Willi <martin@strongswan.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/mac80211_hwsim.c