aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd/patches
diff options
context:
space:
mode:
authorDavid Bauer <mail@david-bauer.net>2020-10-21 20:50:01 +0200
committerDavid Bauer <mail@david-bauer.net>2022-03-20 01:29:59 +0100
commit53c60d4bfaa791d2e5fe5f4123cb0d6eadc7ec99 (patch)
tree86108dc6a6c0578601e358baad7188ca174e12c4 /package/network/services/hostapd/patches
parent88075c87dc31fc75ec5b236290ff5b8997e7538d (diff)
downloadupstream-53c60d4bfaa791d2e5fe5f4123cb0d6eadc7ec99.tar.gz
upstream-53c60d4bfaa791d2e5fe5f4123cb0d6eadc7ec99.tar.bz2
upstream-53c60d4bfaa791d2e5fe5f4123cb0d6eadc7ec99.zip
hostapd: ubus: add notification for BSS transition response
To allow steering daemons to be aware of the STA-decided transition target, publish WNM transition responses to ubus. This way, steerings daemons can learn about STA-chosen targets and send a better selection of transition candidates. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit a3de42e72ce349c14263737c5d6ec7b00397cf14)
Diffstat (limited to 'package/network/services/hostapd/patches')
-rw-r--r--package/network/services/hostapd/patches/600-ubus_support.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/600-ubus_support.patch b/package/network/services/hostapd/patches/600-ubus_support.patch
index 53f521e649..eaf1e420ad 100644
--- a/package/network/services/hostapd/patches/600-ubus_support.patch
+++ b/package/network/services/hostapd/patches/600-ubus_support.patch
@@ -424,3 +424,33 @@
}
+--- a/src/ap/wnm_ap.c
++++ b/src/ap/wnm_ap.c
+@@ -463,7 +463,7 @@ static void ieee802_11_rx_bss_trans_mgmt
+ size_t len)
+ {
+ u8 dialog_token, status_code, bss_termination_delay;
+- const u8 *pos, *end;
++ const u8 *pos, *end, *target_bssid;
+ int enabled = hapd->conf->bss_transition;
+ struct sta_info *sta;
+
+@@ -510,6 +510,7 @@ static void ieee802_11_rx_bss_trans_mgmt
+ wpa_printf(MSG_DEBUG, "WNM: not enough room for Target BSSID field");
+ return;
+ }
++ target_bssid = pos;
+ sta->agreed_to_steer = 1;
+ eloop_cancel_timeout(ap_sta_reset_steer_flag_timer, hapd, sta);
+ eloop_register_timeout(2, 0, ap_sta_reset_steer_flag_timer,
+@@ -529,6 +530,10 @@ static void ieee802_11_rx_bss_trans_mgmt
+ MAC2STR(addr), status_code, bss_termination_delay);
+ }
+
++ hostapd_ubus_notify_bss_transition_response(hapd, sta->addr, dialog_token,
++ status_code, bss_termination_delay,
++ target_bssid, pos, end - pos);
++
+ wpa_hexdump(MSG_DEBUG, "WNM: BSS Transition Candidate List Entries",
+ pos, end - pos);
+ }