hostapd: Avoid unnecessary Beacon frame update for co-location
When it comes to set some BSS's beacon, there are two reasons to update the beacon of co-located hostapd_iface(s) at the same time: 1. 6 GHz out-of-band discovery 2. MLD operational parameters update BSS load update is unrelated with the above two reasons, and therefore is not the case to update beacon for co-location. Moreover, updating beacon for co-location when BSS load update makes hostapd set beacon too frequently, which makes hostapd busy setting beacon in a multi-BSS case. Add a new function to update beacon only for current BSS and use the function during BSS load update. Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com> Signed-off-by: Money Wang <money.wang@mediatek.com>
This commit is contained in:
parent
8056b79ff1
commit
fc0b0cdcb9
3 changed files with 8 additions and 1 deletions
|
@ -2266,6 +2266,12 @@ fail:
|
|||
}
|
||||
|
||||
|
||||
void ieee802_11_set_beacon_per_bss_only(struct hostapd_data *hapd)
|
||||
{
|
||||
__ieee802_11_set_beacon(hapd);
|
||||
}
|
||||
|
||||
|
||||
int ieee802_11_set_beacon(struct hostapd_data *hapd)
|
||||
{
|
||||
struct hostapd_iface *iface = hapd->iface;
|
||||
|
|
|
@ -15,6 +15,7 @@ struct ieee80211_mgmt;
|
|||
void handle_probe_req(struct hostapd_data *hapd,
|
||||
const struct ieee80211_mgmt *mgmt, size_t len,
|
||||
int ssi_signal);
|
||||
void ieee802_11_set_beacon_per_bss_only(struct hostapd_data *hapd);
|
||||
int ieee802_11_set_beacon(struct hostapd_data *hapd);
|
||||
int ieee802_11_set_beacons(struct hostapd_iface *iface);
|
||||
int ieee802_11_update_beacons(struct hostapd_iface *iface);
|
||||
|
|
|
@ -55,7 +55,7 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
|
|||
return;
|
||||
}
|
||||
|
||||
ieee802_11_set_beacon(hapd);
|
||||
ieee802_11_set_beacon_per_bss_only(hapd);
|
||||
|
||||
if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue