Search Linux Wireless

Re: [PATCH v3 3/3] cfg80211: Allow usermode to query wiphy specific regd info

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 26, 2014 at 11:43 AM, Arik Nemtsov <arik@xxxxxxxxxx> wrote:
> On Tue, Nov 25, 2014 at 10:28 PM, Luis R. Rodriguez <mcgrof@xxxxxxxx> wrote:
>> On Sun, Nov 23, 2014 at 05:02:21PM +0200, Arik Nemtsov wrote:
>>> From: Jonathan Doron <jond@xxxxxxxxxx>
>>>
>>> Allow usermode to query wiphy-specific regd info, for drivers that use
>>> wiphy-specific regulatory management.
>>>
>>> Use the existing API for sending regdomain info to usermode, but return
>>> the wiphy-specific regd in case wiphy index is provided and the driver
>>> employs wiphy-specific management. This implies user and kernel-mode
>>> support for the feature and is backward compatible.
>>>
>>> Signed-off-by: Jonathan Doron <jonathanx.doron@xxxxxxxxx>
>>> Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx>
>>> ---
>>>  include/uapi/linux/nl80211.h | 18 ++++++++++-
>>>  net/wireless/nl80211.c       | 71 ++++++++++++++++++++++++++++++++++++--------
>>>  net/wireless/reg.c           |  2 +-
>>>  net/wireless/reg.h           |  1 +
>>>  4 files changed, 78 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
>>> index 3771e7d..b222e5c 100644
>>> --- a/include/uapi/linux/nl80211.h
>>> +++ b/include/uapi/linux/nl80211.h
>>> @@ -252,7 +252,12 @@
>>>   *   %NL80211_ATTR_IFINDEX.
>>>   *
>>>   * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set
>>> - *   regulatory domain.
>>> + *   regulatory domain. If %NL80211_ATTR_WIPHY is specified and the device
>>> + *   self-manages its regulatory settings, its private regulatory domain
>>> + *   will be returned.
>>> + *   If %NL80211_ATTR_WIPHY_GET_PRIV_REG is specified in addition to
>>> + *   %NL80211_ATTR_WIPHY, a device's private regulatory domain will be
>>> + *   returned, even if it's regulatory is not self-managed.
>>>   * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command
>>>   *   after being queried by the kernel. CRDA replies by sending a regulatory
>>>   *   domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our
>>> @@ -1693,6 +1698,14 @@ enum nl80211_commands {
>>>   *
>>>   * @NL80211_ATTR_MAC_MASK: MAC address mask
>>>   *
>>> + * @NL80211_ATTR_WIPHY_SELF_MANAGED_REG: flag attribute indicating the
>>> + *   regulatory information was obtained from the private regdomain
>>> + *   of a device with self-managed regulatory.
>>> + * @NL80211_ATTR_WIPHY_GET_PRIV_REG: flag attribute indicating the regulatory
>>> + *   information should be obtained from a device's private regdomain,
>>> + *   if it exists. This will happen even if the device is not self-managing
>>> + *   its regulatory.
>>
>> As with REGULATORY_WIPHY_SELF_MANAGED we need a flag that cfg80211 sets for
>> drivers that use regulatory_hint() API, perhaps REGULATORY_WIPHY_REG_HINT.
>> Then this can be used by cfg80211 to send to userspace regdomains for wiphys
>> that have used this API. Below you enable userspace to only query for these
>> explictly but we want to be able to let userspace get all information, ie
>> through 'iw reg get'. This should go in as a separate patch along with
>> NL80211_ATTR_WIPHY_GET_PRIV_REG as its use predates
>> NL80211_ATTR_WIPHY_SELF_MANAGED_REG, this will also let you stuff in the boiler
>> plate code for getting that reg first, getting self managed regd's can then
>> go in as a clear secondary evolutionary step.
>
> Note that we don't really need the new REGULATORY_WIPHY_REG_HINT.. If
> a wiphy is not self-managed, we can just put
> NL80211_ATTR_WIPHY_PRIV_REG, since it's obvious the regulatory_hint
> API was used.

What if a driver sets the managed flag and then uses regulatory_hint()
? Either way if this is addressed and we can also infer what type of
wiphy->regd it is well that's OK with me, the flag idea was just in
case we needed it, so I think you might be right.

 Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux