P2P: Apply unsafe frequency rules to available channels
This adds a QCA vendor specific nl80211 event to allow the driver to indicate a list of frequency ranges that should be avoided due to interference or possible known co-existance constraints. Such frequencies are marked as not allowed for P2P use to force groups to be formed on different channels. If a P2P GO is operating on a channel that the driver recommended not to use, a notification about this is sent on the control interface and upper layer code may decide to tear down the group and optionally restart it on another channel. As a TODO item, this could also be changed to use CSA to avoid removing the group. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
1682c62360
commit
253f2e3795
9 changed files with 148 additions and 1 deletions
|
@ -24,10 +24,28 @@
|
|||
* @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Reserved value 0
|
||||
*
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_TEST: Test command/event
|
||||
*
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY: Recommendation of frequency
|
||||
* ranges to avoid to reduce issues due to interference or internal
|
||||
* co-existence information in the driver. The event data structure is
|
||||
* defined in struct qca_avoid_freq_list.
|
||||
*/
|
||||
enum qca_nl80211_vendor_subcmds {
|
||||
QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
|
||||
QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
|
||||
/* subcmds 2..9 not yet allocated */
|
||||
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
|
||||
};
|
||||
|
||||
|
||||
struct qca_avoid_freq_range {
|
||||
u32 start_freq;
|
||||
u32 end_freq;
|
||||
} STRUCT_PACKED;
|
||||
|
||||
struct qca_avoid_freq_list {
|
||||
u32 count;
|
||||
struct qca_avoid_freq_range range[0];
|
||||
} STRUCT_PACKED;
|
||||
|
||||
#endif /* QCA_VENDOR_H */
|
||||
|
|
|
@ -74,6 +74,8 @@ extern "C" {
|
|||
* be used again.
|
||||
*/
|
||||
#define WPA_EVENT_FREQ_CONFLICT "CTRL-EVENT-FREQ-CONFLICT "
|
||||
/** Frequency ranges that the driver recommends to avoid */
|
||||
#define WPA_EVENT_AVOID_FREQ "CTRL-EVENT-AVOID-FREQ "
|
||||
/** WPS overlap detected in PBC mode */
|
||||
#define WPS_EVENT_OVERLAP "WPS-OVERLAP-DETECTED "
|
||||
/** Available WPS AP with active PBC found in scan results */
|
||||
|
@ -151,6 +153,7 @@ extern "C" {
|
|||
|
||||
/* parameters: <PMF enabled> <timeout in ms> <Session Information URL> */
|
||||
#define ESS_DISASSOC_IMMINENT "ESS-DISASSOC-IMMINENT "
|
||||
#define P2P_EVENT_REMOVE_AND_REFORM_GROUP "P2P-REMOVE-AND-REFORM-GROUP "
|
||||
|
||||
#define INTERWORKING_AP "INTERWORKING-AP "
|
||||
#define INTERWORKING_NO_MATCH "INTERWORKING-NO-MATCH "
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue