AP MLD: Refresh beacons for other links when one gets disabled/enabled
If one or more BSS from the interface is partnering with BSSs from another interface and if this interface gets disabled, the Beacon frames need to be refreshed for other interfaces. Similar thing should happen when it gets enabled. Add logic to refresh other interface Beacon frames when one of the interfaces is disabled or enabled. Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
This commit is contained in:
parent
d2b62b3fe5
commit
7a0501d20d
1 changed files with 19 additions and 0 deletions
|
@ -3355,6 +3355,22 @@ static void hostapd_deinit_driver(const struct wpa_driver_ops *driver,
|
|||
}
|
||||
|
||||
|
||||
static void hostapd_refresh_all_iface_beacons(struct hostapd_iface *hapd_iface)
|
||||
{
|
||||
size_t j;
|
||||
|
||||
if (!hapd_iface->interfaces || hapd_iface->interfaces->count <= 1)
|
||||
return;
|
||||
|
||||
for (j = 0; j < hapd_iface->interfaces->count; j++) {
|
||||
if (hapd_iface->interfaces->iface[j] == hapd_iface)
|
||||
continue;
|
||||
|
||||
ieee802_11_update_beacons(hapd_iface->interfaces->iface[j]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int hostapd_enable_iface(struct hostapd_iface *hapd_iface)
|
||||
{
|
||||
size_t j;
|
||||
|
@ -3393,6 +3409,8 @@ int hostapd_enable_iface(struct hostapd_iface *hapd_iface)
|
|||
return -1;
|
||||
}
|
||||
|
||||
hostapd_refresh_all_iface_beacons(hapd_iface);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -3504,6 +3522,7 @@ int hostapd_disable_iface(struct hostapd_iface *hapd_iface)
|
|||
wpa_printf(MSG_DEBUG, "Interface %s disabled",
|
||||
hapd_iface->bss[0]->conf->iface);
|
||||
hostapd_set_state(hapd_iface, HAPD_IFACE_DISABLED);
|
||||
hostapd_refresh_all_iface_beacons(hapd_iface);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue