+ linux-wireless + Johannes On 13-3-2017 19:15, Mark Asselstine wrote: > Hello Arend, > > I am thinking about proposing the following patch on linux-wireless but would > like to ask you your thoughts first. I have looked in detail at the kernel > code, the brcmfmac development pages, the mailing list archives etc. to make > sure that I haven't missed previous discussions on this subject, if you have > already ruled this functionality out I apologize for missing the relevant > info. > > Like others folks (for example https://github.com/fgg89/docker-ap/issues/3) I > would like to have the ability to make the wifi interface available in a > container. The *80211 infrastructure should allow this but the brcmfmac driver > does not enable WIPHY_FLAG_NETNS_OK so attempts to move the phy and vifs to a > network NS results in -EOPNOTSUPP. Is there a reason for this not being > supported? Hi Mark, It never came up with any projects so far. I doubt that the patch below is sufficient. I suspect something more is needed. Using git blame I ended up finding these commits: a272a72 mac80211: allow using network namespaces 463d018 cfg80211: make aware of net namespaces 5061b0c mac80211: cooperate more with network namespaces I think what is required from brcmfmac is to set netns for each netdev that we create to the same netns as the wiphy instance using wiphy_net(). Not sure if there is more to consider, but hopefully Johannes can comment on this although the mentioned commits have been around for a while. Regards, Arend > Thanks so much for taking the time to read this email and thanks in advance > for any feedback you are able to provide. > > Regards, > Mark Asselstine > > ---- > > diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/ > drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > index 944b83c..f38500b 100644 > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > @@ -6452,7 +6452,8 @@ static int brcmf_setup_wiphy(struct wiphy *wiphy, struct > brcmf_if *ifp) > > wiphy->flags |= WIPHY_FLAG_PS_ON_BY_DEFAULT | > WIPHY_FLAG_OFFCHAN_TX | > - WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL; > + WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL | > + WIPHY_FLAG_NETNS_OK; > if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_TDLS)) > wiphy->flags |= WIPHY_FLAG_SUPPORTS_TDLS; > if (!ifp->drvr->settings->roamoff) >