On Mon, Mar 4, 2013 at 7:10 AM, Johannes Berg <[email protected]> wrote: > On Fri, 2013-03-01 at 22:02 -0800, Thomas Pedersen wrote: >> If the user requested a userspace MPM, automatically >> disable auto_open_plinks to fully disable the kernel MPM. >> >> Signed-off-by: Thomas Pedersen <[email protected]> >> --- >> include/uapi/linux/nl80211.h | 6 ++++-- >> net/wireless/nl80211.c | 3 +++ >> 2 files changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h >> index 8134c6a..79da871 100644 >> --- a/include/uapi/linux/nl80211.h >> +++ b/include/uapi/linux/nl80211.h >> @@ -2467,8 +2467,10 @@ enum nl80211_mesh_power_mode { >> * @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source >> mesh >> * point. >> * >> - * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically >> - * open peer links when we detect compatible mesh peers. >> + * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically open >> + * peer links when we detect compatible mesh peers. Disabled if >> + * @NL80211_MESH_SETUP_USERSPACE_MPM or >> @NL80211_MESH_SETUP_USERSPACE_AMPE are >> + * set. >> * >> * @NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES: the number of action frames >> * containing a PREQ that an MP can send to a particular destination (path >> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c >> index e3f2489..bd73231 100644 >> --- a/net/wireless/nl80211.c >> +++ b/net/wireless/nl80211.c >> @@ -7422,6 +7422,9 @@ static int nl80211_join_mesh(struct sk_buff *skb, >> struct genl_info *info) >> return err; >> } >> >> + if (setup.user_mpm) >> + cfg.auto_open_plinks = false; > > Maybe you should reject the invalid configuration instead?
But then if the user wants "userspace MPM" they have to select that and disable auto_open_plinks as well. I think if the user wants his own MPM, the kernel should be smart enough to completely disable its own. -- Thomas _______________________________________________ Devel mailing list [email protected] http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel
