nl80211: Allocate QCA vendor subcmds for DFS radar detected and CAC events
When DFS offloading capability is supported by the driver, the driver should use these events to indicate when a radar pattern has been detected, channel availability check (CAC) has been completed, aborted or finished after the non-occupancy period is over on a DFS channel. Also, add a new driver.h event to be used by NL80211 to indicate CAC Started event on a DFS channel. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
f245b45075
commit
480994dafb
3 changed files with 38 additions and 7 deletions
|
@ -70,8 +70,25 @@ enum qca_radiotap_vendor_ids {
|
||||||
* supported by the driver. enum qca_wlan_vendor_features defines
|
* supported by the driver. enum qca_wlan_vendor_features defines
|
||||||
* the possible features.
|
* the possible features.
|
||||||
*
|
*
|
||||||
* @QCA_NL80211_VENDOR_SUBCMD_CAC_STARTED: Event used by driver, which
|
* @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED: Event used by driver,
|
||||||
* supports DFS offloading, to indicate a channel availability check start.
|
* which supports DFS offloading, to indicate a channel availability check
|
||||||
|
* start.
|
||||||
|
*
|
||||||
|
* @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED: Event used by driver,
|
||||||
|
* which supports DFS offloading, to indicate a channel availability check
|
||||||
|
* completion.
|
||||||
|
*
|
||||||
|
* @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED: Event used by driver,
|
||||||
|
* which supports DFS offloading, to indicate that the channel availability
|
||||||
|
* check aborted, no change to the channel status.
|
||||||
|
*
|
||||||
|
* @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED: Event used by
|
||||||
|
* driver, which supports DFS offloading, to indicate that the
|
||||||
|
* Non-Occupancy Period for this channel is over, channel becomes usable.
|
||||||
|
*
|
||||||
|
* @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED: Event used by driver,
|
||||||
|
* which supports DFS offloading, to indicate a radar pattern has been
|
||||||
|
* detected. The channel is now unusable.
|
||||||
*/
|
*/
|
||||||
enum qca_nl80211_vendor_subcmds {
|
enum qca_nl80211_vendor_subcmds {
|
||||||
QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
|
QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
|
||||||
|
@ -118,7 +135,11 @@ enum qca_nl80211_vendor_subcmds {
|
||||||
/* 53 - reserved for QCA */
|
/* 53 - reserved for QCA */
|
||||||
QCA_NL80211_VENDOR_SUBCMD_DO_ACS = 54,
|
QCA_NL80211_VENDOR_SUBCMD_DO_ACS = 54,
|
||||||
QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES = 55,
|
QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES = 55,
|
||||||
QCA_NL80211_VENDOR_SUBCMD_CAC_STARTED = 56,
|
QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED = 56,
|
||||||
|
QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED = 57,
|
||||||
|
QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED = 58,
|
||||||
|
QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED = 59,
|
||||||
|
QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED = 60,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3763,7 +3763,7 @@ enum wpa_event_type {
|
||||||
EVENT_CONNECT_FAILED_REASON,
|
EVENT_CONNECT_FAILED_REASON,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* EVENT_RADAR_DETECTED - Notify of radar detection
|
* EVENT_DFS_RADAR_DETECTED - Notify of radar detection
|
||||||
*
|
*
|
||||||
* A radar has been detected on the supplied frequency, hostapd should
|
* A radar has been detected on the supplied frequency, hostapd should
|
||||||
* react accordingly (e.g., change channel).
|
* react accordingly (e.g., change channel).
|
||||||
|
@ -3771,14 +3771,14 @@ enum wpa_event_type {
|
||||||
EVENT_DFS_RADAR_DETECTED,
|
EVENT_DFS_RADAR_DETECTED,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* EVENT_CAC_FINISHED - Notify that channel availability check has been completed
|
* EVENT_DFS_CAC_FINISHED - Notify that channel availability check has been completed
|
||||||
*
|
*
|
||||||
* After a successful CAC, the channel can be marked clear and used.
|
* After a successful CAC, the channel can be marked clear and used.
|
||||||
*/
|
*/
|
||||||
EVENT_DFS_CAC_FINISHED,
|
EVENT_DFS_CAC_FINISHED,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* EVENT_CAC_ABORTED - Notify that channel availability check has been aborted
|
* EVENT_DFS_CAC_ABORTED - Notify that channel availability check has been aborted
|
||||||
*
|
*
|
||||||
* The CAC was not successful, and the channel remains in the previous
|
* The CAC was not successful, and the channel remains in the previous
|
||||||
* state. This may happen due to a radar beeing detected or other
|
* state. This may happen due to a radar beeing detected or other
|
||||||
|
@ -3787,7 +3787,7 @@ enum wpa_event_type {
|
||||||
EVENT_DFS_CAC_ABORTED,
|
EVENT_DFS_CAC_ABORTED,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* EVENT_DFS_CAC_NOP_FINISHED - Notify that non-occupancy period is over
|
* EVENT_DFS_NOP_FINISHED - Notify that non-occupancy period is over
|
||||||
*
|
*
|
||||||
* The channel which was previously unavailable is now available again.
|
* The channel which was previously unavailable is now available again.
|
||||||
*/
|
*/
|
||||||
|
@ -3836,6 +3836,15 @@ enum wpa_event_type {
|
||||||
* in device.
|
* in device.
|
||||||
*/
|
*/
|
||||||
EVENT_ACS_CHANNEL_SELECTED,
|
EVENT_ACS_CHANNEL_SELECTED,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EVENT_DFS_CAC_STARTED - Notify that channel availability check has
|
||||||
|
* been started.
|
||||||
|
*
|
||||||
|
* This event indicates that channel availability check has been started
|
||||||
|
* on a DFS frequency by a driver that supports DFS Offload.
|
||||||
|
*/
|
||||||
|
EVENT_DFS_CAC_STARTED,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -79,6 +79,7 @@ const char * event_to_string(enum wpa_event_type event)
|
||||||
E2S(AVOID_FREQUENCIES);
|
E2S(AVOID_FREQUENCIES);
|
||||||
E2S(NEW_PEER_CANDIDATE);
|
E2S(NEW_PEER_CANDIDATE);
|
||||||
E2S(ACS_CHANNEL_SELECTED);
|
E2S(ACS_CHANNEL_SELECTED);
|
||||||
|
E2S(DFS_CAC_STARTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
|
|
Loading…
Reference in a new issue