mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-06 11:09:31 +00:00
hostapd: send a notification via ubus when CSA completed
Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
parent
dd62f7659b
commit
3ed5f6430b
@ -116,6 +116,14 @@ probe/assoc/auth requests via object subscribe.
|
|||||||
#ifdef CONFIG_P2P
|
#ifdef CONFIG_P2P
|
||||||
if (elems.p2p) {
|
if (elems.p2p) {
|
||||||
wpabuf_free(sta->p2p_ie);
|
wpabuf_free(sta->p2p_ie);
|
||||||
|
@@ -1369,6 +1379,7 @@ void hostapd_event_ch_switch(struct host
|
||||||
|
|
||||||
|
wpa_msg(hapd->msg_ctx, MSG_INFO, AP_CSA_FINISHED
|
||||||
|
"freq=%d dfs=%d", freq, is_dfs);
|
||||||
|
+ hostapd_ubus_notify_csa(hapd, freq);
|
||||||
|
} else if (hapd->iface->drv_flags & WPA_DRIVER_FLAGS_DFS_OFFLOAD) {
|
||||||
|
/* Complete AP configuration for the first bring up. */
|
||||||
|
if (is_dfs0 > 0 &&
|
||||||
--- a/src/ap/hostapd.c
|
--- a/src/ap/hostapd.c
|
||||||
+++ b/src/ap/hostapd.c
|
+++ b/src/ap/hostapd.c
|
||||||
@@ -475,6 +475,7 @@ void hostapd_free_hapd_data(struct hosta
|
@@ -475,6 +475,7 @@ void hostapd_free_hapd_data(struct hosta
|
||||||
|
@ -2024,3 +2024,16 @@ void hostapd_ubus_notify_apup_newpeer(
|
|||||||
ubus_notify(ctx, &hapd->ubus.obj, "apup-newpeer", b.head, -1);
|
ubus_notify(ctx, &hapd->ubus.obj, "apup-newpeer", b.head, -1);
|
||||||
}
|
}
|
||||||
#endif // def CONFIG_APUP
|
#endif // def CONFIG_APUP
|
||||||
|
|
||||||
|
void hostapd_ubus_notify_csa(struct hostapd_data *hapd, int freq)
|
||||||
|
{
|
||||||
|
if (!hapd->ubus.obj.has_subscribers)
|
||||||
|
return;
|
||||||
|
|
||||||
|
blob_buf_init(&b, 0);
|
||||||
|
blobmsg_add_string(&b, "ifname", hapd->conf->iface);
|
||||||
|
blobmsg_add_u32(&b, "freq", freq);
|
||||||
|
blobmsg_printf(&b, "bssid", MACSTR, MAC2STR(hapd->conf->bssid));
|
||||||
|
|
||||||
|
ubus_notify(ctx, &hapd->ubus.obj, "channel-switch", b.head, -1);
|
||||||
|
}
|
||||||
|
@ -68,6 +68,7 @@ int hostapd_ubus_notify_bss_transition_query(
|
|||||||
const u8 *candidate_list, u16 candidate_list_len);
|
const u8 *candidate_list, u16 candidate_list_len);
|
||||||
void hostapd_ubus_notify_authorized(struct hostapd_data *hapd, struct sta_info *sta,
|
void hostapd_ubus_notify_authorized(struct hostapd_data *hapd, struct sta_info *sta,
|
||||||
const char *auth_alg);
|
const char *auth_alg);
|
||||||
|
void hostapd_ubus_notify_csa(struct hostapd_data *hapd, int freq);
|
||||||
|
|
||||||
#ifdef CONFIG_APUP
|
#ifdef CONFIG_APUP
|
||||||
void hostapd_ubus_notify_apup_newpeer(
|
void hostapd_ubus_notify_apup_newpeer(
|
||||||
@ -155,6 +156,11 @@ hostapd_ubus_notify_authorized(struct hostapd_data *hapd, struct sta_info *sta,
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
hostapd_ubus_notify_csa(struct hostapd_data *hapd, int freq)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user