diff options
author | Jouni Malinen <jouni@qca.qualcomm.com> | 2014-09-11 12:52:37 (GMT) |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2014-09-11 12:59:42 (GMT) |
commit | 0ef023e47863ed92367fca9a65ace6f329eb3d8c (patch) | |
tree | 5e73c8b6784bfe0d5771b995ebe9854a595f944a /wpa_supplicant/notify.c | |
parent | 0cd9846c632880134b1307f5c3e970151f9f1674 (diff) | |
download | hostap-0ef023e47863ed92367fca9a65ace6f329eb3d8c.zip hostap-0ef023e47863ed92367fca9a65ace6f329eb3d8c.tar.gz hostap-0ef023e47863ed92367fca9a65ace6f329eb3d8c.tar.bz2 |
Add support for driver command to update roaming policy
The network block bssid parameter can be used to force a specific BSS to
be used for a connection. It is also possible to modify this parameter
during an association. Previously, that did not result in any
notification to the driver which was somewhat problematic with drivers
that take care of BSS selection. Add a new mechanism to allow
wpa_supplicant to provide a driver update if the bssid parameter change
for the current connection modifies roaming policy (roaming
allowed/disallowed within ESS).
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'wpa_supplicant/notify.c')
-rw-r--r-- | wpa_supplicant/notify.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/wpa_supplicant/notify.c b/wpa_supplicant/notify.c index b29fdac..617ce84 100644 --- a/wpa_supplicant/notify.c +++ b/wpa_supplicant/notify.c @@ -633,3 +633,18 @@ void wpas_notify_eap_status(struct wpa_supplicant *wpa_s, const char *status, "status='%s' parameter='%s'", status, parameter); } + + +void wpas_notify_network_bssid_set_changed(struct wpa_supplicant *wpa_s, + struct wpa_ssid *ssid) +{ + if (wpa_s->current_ssid != ssid) + return; + + wpa_dbg(wpa_s, MSG_DEBUG, + "Network bssid config changed for the current network - within-ESS roaming %s", + ssid->bssid_set ? "disabled" : "enabled"); + + wpa_drv_roaming(wpa_s, !ssid->bssid_set, + ssid->bssid_set ? ssid->bssid : NULL); +} |