diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h index 8f961bf1c..cf041938d 100644 --- a/src/common/qca-vendor.h +++ b/src/common/qca-vendor.h @@ -70,8 +70,25 @@ enum qca_radiotap_vendor_ids { * supported by the driver. enum qca_wlan_vendor_features defines * the possible features. * - * @QCA_NL80211_VENDOR_SUBCMD_CAC_STARTED: Event used by driver, which - * supports DFS offloading, to indicate a channel availability check start. + * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED: Event used by driver, + * 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 { QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0, @@ -118,7 +135,11 @@ enum qca_nl80211_vendor_subcmds { /* 53 - reserved for QCA */ QCA_NL80211_VENDOR_SUBCMD_DO_ACS = 54, 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, }; diff --git a/src/drivers/driver.h b/src/drivers/driver.h index 745f8b3c5..b1d896c02 100644 --- a/src/drivers/driver.h +++ b/src/drivers/driver.h @@ -3763,7 +3763,7 @@ enum wpa_event_type { 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 * react accordingly (e.g., change channel). @@ -3771,14 +3771,14 @@ enum wpa_event_type { 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. */ 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 * 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_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. */ @@ -3836,6 +3836,15 @@ enum wpa_event_type { * in device. */ 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, }; diff --git a/src/drivers/driver_common.c b/src/drivers/driver_common.c index f897c1147..aebea8cf6 100644 --- a/src/drivers/driver_common.c +++ b/src/drivers/driver_common.c @@ -79,6 +79,7 @@ const char * event_to_string(enum wpa_event_type event) E2S(AVOID_FREQUENCIES); E2S(NEW_PEER_CANDIDATE); E2S(ACS_CHANNEL_SELECTED); + E2S(DFS_CAC_STARTED); } return "UNKNOWN";