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

Reply via email to