Re: [PATCH v4 03/15] mbssid: configure all BSSes before beacon setup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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

[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux