On Wed, Nov 30, 2022 at 07:18:35PM -0800, Aloka Dixit wrote: > When multiple BSSID advertisements feature is enabled in 802.11ax > mode or later, beacons are not transmitted per interface, instead > only one of the interfaces transmits beacon(s) which include one > or more multiple BSSID elements with configuration for the remaining > interfaces on the same radio. > > Change the existing logic such that all configuration details for > all the interfaces is available while building the beacon for the > transmitting interface itself. > > Do not change the flow for the cases where multiple BSSID advertisements > are not enabled. This actually does change the code sequence for existing cases and that breaks things.. > diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c > > +static int hostapd_start_beacon(struct hostapd_data *hapd) > +{ > + struct hostapd_bss_config *conf = hapd->conf; > + > + if (!conf->start_disabled && ieee802_11_set_beacon(hapd) < 0) > + return -1; This is where the ieee802_11_set_beacon() call is moved.. > @@ -1399,9 +1417,6 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first) > return -1; > } > > - if (!conf->start_disabled && ieee802_11_set_beacon(hapd) < 0) > - return -1; .. and this is where it is moved from.. > if (flush_old_stations && !conf->start_disabled && > conf->broadcast_deauth) { > u8 addr[ETH_ALEN]; In other words, this operation of sending the broadcast Deauthentication frame would now be before the call to ieee802_11_set_beacon() and this fails due to cfg80211/mac80211 constraints in AP mode. I guess it would be fine to move this broadcast Deauthentication frame item to hostapd_start_beacon() with the other two moved items so that they remain in the same order. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap