Message ID | 1392824377-18254-2-git-send-email-ilan.peer@intel.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Wed, Feb 19, 2014 at 05:39:33PM +0200, Ilan Peer wrote: > From: David Spinadel <david.spinadel@intel.com> > > The FCC are clarifying some soft configuration requirements, > which among other include the following: > > 1. Indoor operation, where a device can use channels requiring indoor > operation, subject to that it can guarantee indoor operation, > i.e., the device is connected to AC Power or the device is under > the control of a local master that is acting as an AP and is > connected to AC Power. > 2. Concurrent GO operation, where devices may instantiate a P2P GO > while they are under the guidance of an authorized master. For example, > on a channel on which a BSS is connected to an authorized master, i.e., > with DFS and radar detection capability in the UNII band. > > See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122 > > Add support for advertising Indoor-only and GO-Concurrent channel > properties. > > Signed-off-by: David Spinadel <david.spinadel@intel.com> > Signed-off-by: Ilan Peer <ilan.peer@intel.com> > --- > include/net/cfg80211.h | 22 ++++++++++++++++++++++ > include/uapi/linux/nl80211.h | 8 ++++++++ > net/wireless/nl80211.c | 6 ++++++ > net/wireless/reg.c | 2 ++ > 4 files changed, 38 insertions(+) > > diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h > index 9f90554..5b2f275 100644 > --- a/include/net/cfg80211.h > +++ b/include/net/cfg80211.h > @@ -109,6 +109,26 @@ enum ieee80211_band { > * channel as the control or any of the secondary channels. > * This may be due to the driver or due to regulatory bandwidth > * restrictions. > + * @IEEE80211_CHAN_INDOOR_ONLY: Only indoor use is permitted on this channel. > + * A channel marked with IEEE80211_CHAN_INDOOR_ONLY can only be used when > + * there is a clear assessment that the device is operating in an indoor > + * surroundings, i.e., it is connected to AC power (and not through > + * portable DC inverters) or is under the control of a master that is > + * acting as an AP and is connected to AC power. > + * @IEEE80211_CHAN_GO_CONCURRENT: GO operation is allowed on this channel if > + * it's connected concurrently to a BSS on the same channel on the 2 GHz > + * band or to a channel in the same UNII band (on the 5 GHz band), and > + * IEEE80211_CHAN_RADAR is not set > + * Instantiating a GO on a channel marked with IEEE80211_CHAN_GO_CONCURRENT > + * can be done when there is a clear assessment that the device is > + * operating under the guidance of an authorized master, i.e., setting up a > + * GO while the device is also connected to an AP with DFS and radar > + * detection on the UNII band. Would make sense to add here a comment indicating what you mentioned on the other thread about userspace being responsible for this verification. In this case the supplicant (wpa_supplicant). > + * > + * See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122 > + * for more information on the FCC description of the relaxations allowed > + * by IEEE80211_CHAN_INDOOR_ONLY and IEEE80211_CHAN_GO_CONCURRENT. > + * > */ > enum ieee80211_channel_flags { > IEEE80211_CHAN_DISABLED = 1<<0, > @@ -120,6 +140,8 @@ enum ieee80211_channel_flags { > IEEE80211_CHAN_NO_OFDM = 1<<6, > IEEE80211_CHAN_NO_80MHZ = 1<<7, > IEEE80211_CHAN_NO_160MHZ = 1<<8, > + IEEE80211_CHAN_INDOOR_ONLY = 1<<9, > + IEEE80211_CHAN_GO_CONCURRENT = 1<<10, > }; > > #define IEEE80211_CHAN_NO_HT40 \ > diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h > index a12e6ca..da27ca4 100644 > --- a/include/uapi/linux/nl80211.h > +++ b/include/uapi/linux/nl80211.h > @@ -2329,6 +2329,12 @@ enum nl80211_band_attr { > * @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel > * using this channel as the primary or any of the secondary channels > * isn't possible > + * @NL80211_FREQUENCY_ATTR_INDOOR_ONLY: Indoor only use is permitted > + * on this channel in current regulatory domain I'd prefer the more verbose documentation to go here as this is the userspace API. What you can do is on the IEEE80211_CHAN_INDOOR_ONLY documetnation refer for further information to %NL80211_FREQUENCY_ATTR_INDOOR_ONLY. > + * @NL80211_FREQUENCY_ATTR_GO_CONCURRENT: GO operation is allowed on this > + * channel if it's connected concurrently to a BSS on the same channel on > + * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz > + * band), and NL80211_FREQUENCY_ATTR_RADAR is not set Same here. Luis -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 02/19/2014 05:11 PM, Luis R. Rodriguez wrote: > On Wed, Feb 19, 2014 at 05:39:33PM +0200, Ilan Peer wrote: >> From: David Spinadel <david.spinadel@intel.com> >> >> The FCC are clarifying some soft configuration requirements, >> which among other include the following: >> >> 1. Indoor operation, where a device can use channels requiring indoor >> operation, subject to that it can guarantee indoor operation, >> i.e., the device is connected to AC Power or the device is under >> the control of a local master that is acting as an AP and is >> connected to AC Power. >> 2. Concurrent GO operation, where devices may instantiate a P2P GO >> while they are under the guidance of an authorized master. For example, >> on a channel on which a BSS is connected to an authorized master, i.e., >> with DFS and radar detection capability in the UNII band. So apparently FCC has another understanding than the WiFi Alliance (from section 2.3 in WFA P2P-TS): """ A P2P Device can operate concurrently with a WLAN (infrastructure network). Such a device is considered a P2P Concurrent Device. The concurrent operation requires a device to support multiple MAC entities. : : A P2P Group may operate in the same or different operating class and channel as a concurrently operating WLAN BSS. For example, a WLAN BSS may operate in channel 36 in the 5.2 GHz band, while the P2P Group may operate in channel 6 in the 2.4 GHz band. """ Regards, Arend >> See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122 >> >> Add support for advertising Indoor-only and GO-Concurrent channel >> properties. >> >> Signed-off-by: David Spinadel <david.spinadel@intel.com> >> Signed-off-by: Ilan Peer <ilan.peer@intel.com> >> --- >> include/net/cfg80211.h | 22 ++++++++++++++++++++++ >> include/uapi/linux/nl80211.h | 8 ++++++++ >> net/wireless/nl80211.c | 6 ++++++ >> net/wireless/reg.c | 2 ++ >> 4 files changed, 38 insertions(+) >> >> diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h >> index 9f90554..5b2f275 100644 >> --- a/include/net/cfg80211.h >> +++ b/include/net/cfg80211.h >> @@ -109,6 +109,26 @@ enum ieee80211_band { >> * channel as the control or any of the secondary channels. >> * This may be due to the driver or due to regulatory bandwidth >> * restrictions. >> + * @IEEE80211_CHAN_INDOOR_ONLY: Only indoor use is permitted on this channel. >> + * A channel marked with IEEE80211_CHAN_INDOOR_ONLY can only be used when >> + * there is a clear assessment that the device is operating in an indoor >> + * surroundings, i.e., it is connected to AC power (and not through >> + * portable DC inverters) or is under the control of a master that is >> + * acting as an AP and is connected to AC power. >> + * @IEEE80211_CHAN_GO_CONCURRENT: GO operation is allowed on this channel if >> + * it's connected concurrently to a BSS on the same channel on the 2 GHz >> + * band or to a channel in the same UNII band (on the 5 GHz band), and >> + * IEEE80211_CHAN_RADAR is not set >> + * Instantiating a GO on a channel marked with IEEE80211_CHAN_GO_CONCURRENT >> + * can be done when there is a clear assessment that the device is >> + * operating under the guidance of an authorized master, i.e., setting up a >> + * GO while the device is also connected to an AP with DFS and radar >> + * detection on the UNII band. > > > Would make sense to add here a comment indicating what you mentioned > on the other thread about userspace being responsible for this > verification. In this case the supplicant (wpa_supplicant). > >> + * >> + * See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122 >> + * for more information on the FCC description of the relaxations allowed >> + * by IEEE80211_CHAN_INDOOR_ONLY and IEEE80211_CHAN_GO_CONCURRENT. >> + * >> */ >> enum ieee80211_channel_flags { >> IEEE80211_CHAN_DISABLED = 1<<0, >> @@ -120,6 +140,8 @@ enum ieee80211_channel_flags { >> IEEE80211_CHAN_NO_OFDM = 1<<6, >> IEEE80211_CHAN_NO_80MHZ = 1<<7, >> IEEE80211_CHAN_NO_160MHZ = 1<<8, >> + IEEE80211_CHAN_INDOOR_ONLY = 1<<9, >> + IEEE80211_CHAN_GO_CONCURRENT = 1<<10, >> }; >> >> #define IEEE80211_CHAN_NO_HT40 \ >> diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h >> index a12e6ca..da27ca4 100644 >> --- a/include/uapi/linux/nl80211.h >> +++ b/include/uapi/linux/nl80211.h >> @@ -2329,6 +2329,12 @@ enum nl80211_band_attr { >> * @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel >> * using this channel as the primary or any of the secondary channels >> * isn't possible >> + * @NL80211_FREQUENCY_ATTR_INDOOR_ONLY: Indoor only use is permitted >> + * on this channel in current regulatory domain > > I'd prefer the more verbose documentation to go here as this is > the userspace API. What you can do is on the IEEE80211_CHAN_INDOOR_ONLY > documetnation refer for further information to > %NL80211_FREQUENCY_ATTR_INDOOR_ONLY. > >> + * @NL80211_FREQUENCY_ATTR_GO_CONCURRENT: GO operation is allowed on this >> + * channel if it's connected concurrently to a BSS on the same channel on >> + * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz >> + * band), and NL80211_FREQUENCY_ATTR_RADAR is not set > > Same here. > > Luis > -- > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Feb 19, 2014 at 9:36 AM, Arend van Spriel <arend@broadcom.com> wrote: > On 02/19/2014 05:11 PM, Luis R. Rodriguez wrote: >> On Wed, Feb 19, 2014 at 05:39:33PM +0200, Ilan Peer wrote: >>> From: David Spinadel <david.spinadel@intel.com> >>> >>> The FCC are clarifying some soft configuration requirements, >>> which among other include the following: >>> >>> 1. Indoor operation, where a device can use channels requiring indoor >>> operation, subject to that it can guarantee indoor operation, >>> i.e., the device is connected to AC Power or the device is under >>> the control of a local master that is acting as an AP and is >>> connected to AC Power. >>> 2. Concurrent GO operation, where devices may instantiate a P2P GO >>> while they are under the guidance of an authorized master. For example, >>> on a channel on which a BSS is connected to an authorized master, i.e., >>> with DFS and radar detection capability in the UNII band. > > So apparently FCC has another understanding than the WiFi Alliance (from > section 2.3 in WFA P2P-TS): > > """ > A P2P Device can operate concurrently with a WLAN (infrastructure > network). Such a device is considered a P2P Concurrent Device. The > concurrent operation requires a device to support multiple MAC entities. > : > : > A P2P Group may operate in the same or different operating class and > channel as a concurrently operating WLAN BSS. For example, a WLAN BSS > may operate in channel 36 in the 5.2 GHz band, while the P2P Group may > operate in channel 6 in the 2.4 GHz band. > """ But can a WLAN BSS operate on channel 6 in the 2.4 GHz band and infer it can start GO on channel 36? This question seems not related to concurrent stuff but rather pure regulatory but I suppose that will depend on the definition that the FCC intended behind GO concurrency. Is the definition of concurrency GO thing supposed to *restrict* the number of interfaces a device can create (STA, GO), or simply define permissive rules which would have otherwise been blocked? Luis -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbGludXgtd2lyZWxlc3Mt b3duZXJAdmdlci5rZXJuZWwub3JnIFttYWlsdG86bGludXgtd2lyZWxlc3MtDQo+IG93bmVyQHZn ZXIua2VybmVsLm9yZ10gT24gQmVoYWxmIE9mIEx1aXMgUi4gUm9kcmlndWV6DQo+IFNlbnQ6IFdl ZG5lc2RheSwgRmVicnVhcnkgMTksIDIwMTQgMTk6NTYNCj4gVG86IEFyZW5kIHZhbiBTcHJpZWwN Cj4gQ2M6IFBlZXIsIElsYW47IGxpbnV4LXdpcmVsZXNzOyBTcGluYWRlbCwgRGF2aWQNCj4gU3Vi amVjdDogUmU6IFtQQVRDSCB2NCAxLzVdIGNmZzgwMjExOiBBZGQgaW5kb29yIG9ubHkgYW5kIEdP IGNvbmN1cnJlbnQNCj4gY2hhbm5lbCBhdHRyaWJ1dGVzDQo+IA0KDQo+ID4gU28gYXBwYXJlbnRs eSBGQ0MgaGFzIGFub3RoZXIgdW5kZXJzdGFuZGluZyB0aGFuIHRoZSBXaUZpIEFsbGlhbmNlDQo+ ID4gKGZyb20gc2VjdGlvbiAyLjMgaW4gV0ZBIFAyUC1UUyk6DQoNCkkgZG8gbm90IHRoaW5rIHRo YXQgdGhlcmUgaXMgYSBjb250cmFkaWN0aW9uIGhlcmUsIGFzIHRoZSBXRkEgdXNlcyB0aGUgJ21h eScgbm90YXRpb24gYW5kIHRoZXkgYXJlIG5vdCByZWFsbHkgYWRkcmVzc2luZyByZWd1bGF0b3J5 IGxpbWl0YXRpb25zLg0KDQo+ID4NCj4gPiAiIiINCj4gPiBBIFAyUCBEZXZpY2UgY2FuIG9wZXJh dGUgY29uY3VycmVudGx5IHdpdGggYSBXTEFOIChpbmZyYXN0cnVjdHVyZQ0KPiA+IG5ldHdvcmsp LiBTdWNoIGEgZGV2aWNlIGlzIGNvbnNpZGVyZWQgYSBQMlAgQ29uY3VycmVudCBEZXZpY2UuIFRo ZQ0KPiA+IGNvbmN1cnJlbnQgb3BlcmF0aW9uIHJlcXVpcmVzIGEgZGV2aWNlIHRvIHN1cHBvcnQg bXVsdGlwbGUgTUFDIGVudGl0aWVzLg0KPiA+ICAgICAgICAgOg0KPiA+ICAgICAgICAgOg0KPiA+ IEEgUDJQIEdyb3VwIG1heSBvcGVyYXRlIGluIHRoZSBzYW1lIG9yIGRpZmZlcmVudCBvcGVyYXRp bmcgY2xhc3MgYW5kDQo+ID4gY2hhbm5lbCBhcyBhIGNvbmN1cnJlbnRseSBvcGVyYXRpbmcgV0xB TiBCU1MuIEZvciBleGFtcGxlLCBhIFdMQU4gQlNTDQo+ID4gbWF5IG9wZXJhdGUgaW4gY2hhbm5l bCAzNiBpbiB0aGUgNS4yIEdIeiBiYW5kLCB3aGlsZSB0aGUgUDJQIEdyb3VwIG1heQ0KPiA+IG9w ZXJhdGUgaW4gY2hhbm5lbCA2IGluIHRoZSAyLjQgR0h6IGJhbmQuDQo+ID4gIiIiDQoNCj4gDQo+ IEJ1dCBjYW4gYSBXTEFOIEJTUyBvcGVyYXRlIG9uIGNoYW5uZWwgNiBpbiB0aGUgMi40IEdIeiBi YW5kIGFuZCBpbmZlciBpdCBjYW4NCj4gc3RhcnQgR08gb24gY2hhbm5lbCAzNj8gVGhpcyBxdWVz dGlvbiBzZWVtcyBub3QgcmVsYXRlZCB0byBjb25jdXJyZW50IHN0dWZmDQo+IGJ1dCByYXRoZXIg cHVyZSByZWd1bGF0b3J5IGJ1dCBJIHN1cHBvc2UgdGhhdCB3aWxsIGRlcGVuZCBvbiB0aGUgZGVm aW5pdGlvbg0KPiB0aGF0IHRoZSBGQ0MgaW50ZW5kZWQgYmVoaW5kIEdPIGNvbmN1cnJlbmN5Lg0K DQpOby4gQXMgbWVudGlvbmVkIGluIHByZXZpb3VzbHksIHRoZSBVTklJIGJhbmRzIGFyZSBidW5k bGVzIG9mIGNoYW5uZWxzIHdoaWNoIHNoYXJlIHRoZSBzYW1lIHJ1bGVzLCBzbyBzaW5jZSBjaGFu bmVscyA2IGlzIG5vdCBpbiB0aGUgc2FtZSBVTklJIGJhbmQgYXMgY2hhbm5lbCAzNiBpdCBpcyBu b3QgYWxsb3dlZCB0byBpbnN0YW50aWF0ZSBhIEdPIG9uIGNoYW5uZWwgMzYgYmFzZWQgb24gdGhl IEdPIGNvbmN1cnJlbnQgcmVsYXhhdGlvbi4NCg0KPiBJcyB0aGUgZGVmaW5pdGlvbiBvZiBjb25j dXJyZW5jeSBHTyB0aGluZyBzdXBwb3NlZCB0byAqcmVzdHJpY3QqIHRoZSBudW1iZXINCj4gb2Yg aW50ZXJmYWNlcyBhIGRldmljZSBjYW4gY3JlYXRlIChTVEEsIEdPKSwgb3Igc2ltcGx5IGRlZmlu ZSBwZXJtaXNzaXZlIHJ1bGVzDQo+IHdoaWNoIHdvdWxkIGhhdmUgb3RoZXJ3aXNlIGJlZW4gYmxv Y2tlZD8NCj4gDQoNClRoZSBkZWZpbml0aW9ucyB0byBub3QgbGltaXQvcmVzdHJpY3QgdGhlIG51 bWJlciBvZiBjb25jdXJyZW50IGludGVyZmFjZSBidXQgYWxsb3cgcGVybWlzc2l2ZSBydWxlcyB0 byBhbGxvdyBjZXJ0YWluIG9wZXJhdGlvbnMgd2hpY2ggaW4gb3RoZXIgY2lyY3Vtc3RhbmNlcyB3 b3VsZCBiZSBibG9ja2VkLiANCg0KUmVnYXJkcywNCg0KSWxhbi4NCg0K -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
. > > + * @IEEE80211_CHAN_INDOOR_ONLY: Only indoor use is permitted on > this channel. > > + * A channel marked with IEEE80211_CHAN_INDOOR_ONLY can only be > used when > > + * there is a clear assessment that the device is operating in an indoor > > + * surroundings, i.e., it is connected to AC power (and not through > > + * portable DC inverters) or is under the control of a master that is > > + * acting as an AP and is connected to AC power. > > + * @IEEE80211_CHAN_GO_CONCURRENT: GO operation is allowed on this > channel if > > + * it's connected concurrently to a BSS on the same channel on the 2 > GHz > > + * band or to a channel in the same UNII band (on the 5 GHz band), and > > + * IEEE80211_CHAN_RADAR is not set > > + * Instantiating a GO on a channel marked with > IEEE80211_CHAN_GO_CONCURRENT > > + * can be done when there is a clear assessment that the device is > > + * operating under the guidance of an authorized master, i.e., setting > up a > > + * GO while the device is also connected to an AP with DFS and radar > > + * detection on the UNII band. > > > Would make sense to add here a comment indicating what you mentioned > on the other thread about userspace being responsible for this verification. > In this case the supplicant (wpa_supplicant). Sure. > > * using this channel as the primary or any of the secondary channels > > * isn't possible > > + * @NL80211_FREQUENCY_ATTR_INDOOR_ONLY: Indoor only use is > permitted > > + * on this channel in current regulatory domain > > I'd prefer the more verbose documentation to go here as this is the > userspace API. What you can do is on the IEEE80211_CHAN_INDOOR_ONLY > documetnation refer for further information to > %NL80211_FREQUENCY_ATTR_INDOOR_ONLY. > Done. > > + * @NL80211_FREQUENCY_ATTR_GO_CONCURRENT: GO operation is > allowed on this > > + * channel if it's connected concurrently to a BSS on the same channel > on > > + * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz > > + * band), and NL80211_FREQUENCY_ATTR_RADAR is not set > > Same here. Done. Regards, Ilan. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 9f90554..5b2f275 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -109,6 +109,26 @@ enum ieee80211_band { * channel as the control or any of the secondary channels. * This may be due to the driver or due to regulatory bandwidth * restrictions. + * @IEEE80211_CHAN_INDOOR_ONLY: Only indoor use is permitted on this channel. + * A channel marked with IEEE80211_CHAN_INDOOR_ONLY can only be used when + * there is a clear assessment that the device is operating in an indoor + * surroundings, i.e., it is connected to AC power (and not through + * portable DC inverters) or is under the control of a master that is + * acting as an AP and is connected to AC power. + * @IEEE80211_CHAN_GO_CONCURRENT: GO operation is allowed on this channel if + * it's connected concurrently to a BSS on the same channel on the 2 GHz + * band or to a channel in the same UNII band (on the 5 GHz band), and + * IEEE80211_CHAN_RADAR is not set + * Instantiating a GO on a channel marked with IEEE80211_CHAN_GO_CONCURRENT + * can be done when there is a clear assessment that the device is + * operating under the guidance of an authorized master, i.e., setting up a + * GO while the device is also connected to an AP with DFS and radar + * detection on the UNII band. + * + * See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122 + * for more information on the FCC description of the relaxations allowed + * by IEEE80211_CHAN_INDOOR_ONLY and IEEE80211_CHAN_GO_CONCURRENT. + * */ enum ieee80211_channel_flags { IEEE80211_CHAN_DISABLED = 1<<0, @@ -120,6 +140,8 @@ enum ieee80211_channel_flags { IEEE80211_CHAN_NO_OFDM = 1<<6, IEEE80211_CHAN_NO_80MHZ = 1<<7, IEEE80211_CHAN_NO_160MHZ = 1<<8, + IEEE80211_CHAN_INDOOR_ONLY = 1<<9, + IEEE80211_CHAN_GO_CONCURRENT = 1<<10, }; #define IEEE80211_CHAN_NO_HT40 \ diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index a12e6ca..da27ca4 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h @@ -2329,6 +2329,12 @@ enum nl80211_band_attr { * @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel * using this channel as the primary or any of the secondary channels * isn't possible + * @NL80211_FREQUENCY_ATTR_INDOOR_ONLY: Indoor only use is permitted + * on this channel in current regulatory domain + * @NL80211_FREQUENCY_ATTR_GO_CONCURRENT: GO operation is allowed on this + * channel if it's connected concurrently to a BSS on the same channel on + * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz + * band), and NL80211_FREQUENCY_ATTR_RADAR is not set * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number * currently defined * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use @@ -2347,6 +2353,8 @@ enum nl80211_frequency_attr { NL80211_FREQUENCY_ATTR_NO_HT40_PLUS, NL80211_FREQUENCY_ATTR_NO_80MHZ, NL80211_FREQUENCY_ATTR_NO_160MHZ, + NL80211_FREQUENCY_ATTR_INDOOR_ONLY, + NL80211_FREQUENCY_ATTR_GO_CONCURRENT, /* keep last */ __NL80211_FREQUENCY_ATTR_AFTER_LAST, diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 8e6b6a2..95a8c72 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -608,6 +608,12 @@ static int nl80211_msg_put_channel(struct sk_buff *msg, if ((chan->flags & IEEE80211_CHAN_NO_160MHZ) && nla_put_flag(msg, NL80211_FREQUENCY_ATTR_NO_160MHZ)) goto nla_put_failure; + if ((chan->flags & IEEE80211_CHAN_INDOOR_ONLY) && + nla_put_flag(msg, NL80211_FREQUENCY_ATTR_INDOOR_ONLY)) + goto nla_put_failure; + if ((chan->flags & IEEE80211_CHAN_GO_CONCURRENT) && + nla_put_flag(msg, NL80211_FREQUENCY_ATTR_GO_CONCURRENT)) + goto nla_put_failure; } if (nla_put_u32(msg, NL80211_FREQUENCY_ATTR_MAX_TX_POWER, diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 27c5253..eeccce3 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -867,6 +867,8 @@ static u32 map_regdom_flags(u32 rd_flags) channel_flags |= IEEE80211_CHAN_RADAR; if (rd_flags & NL80211_RRF_NO_OFDM) channel_flags |= IEEE80211_CHAN_NO_OFDM; + if (rd_flags & NL80211_RRF_NO_OUTDOOR) + channel_flags |= IEEE80211_CHAN_INDOOR_ONLY; return channel_flags; }