mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05: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
 | 
			
		||||
 	if (elems.p2p) {
 | 
			
		||||
 		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
 | 
			
		||||
+++ b/src/ap/hostapd.c
 | 
			
		||||
@@ -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);
 | 
			
		||||
}
 | 
			
		||||
#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);
 | 
			
		||||
void hostapd_ubus_notify_authorized(struct hostapd_data *hapd, struct sta_info *sta,
 | 
			
		||||
				    const char *auth_alg);
 | 
			
		||||
void hostapd_ubus_notify_csa(struct hostapd_data *hapd, int freq);
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_APUP
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user