Re: [PATCH] ACS: decide offload by hw_mode without special cmd

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

 



On Thu, Jan 02, 2020 at 01:08:59PM +0800, neojou@xxxxxxxxx wrote:
> Would like to propose that not to limit to use special vendor
> command/data to decide to do ACS offload, but by "hw_mode=any"
> as the general case for all the drivers.

Why?

> There is a special config, "hw_mode=any", for the case when the
> driver supports offloaded ACS, but it also needs the driver to
> report the special vendor data, QCA_NL80211_VENDOR_SUBCMD_DO_ACS,
> and to support the vendor command,
>     OUI-QCA + QCA_NL80211_VENDOR_SUBCMD_GET_FEATURE
> to get the feature report
>     QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY
> which are only for QCA driver.
> 
> The setting, "hw_mode=any", in conf file, seems already be
> able to be used to decide if to offload ACS to the driver or not.
> So would like to propose the patch as the first step for the
> general approach of ACS offload.

No, hw_mode=any has nothing to say on whether ACS should or should not
be offloaded. Sure, the current implementation might not support that
with anything else than an offload case now, but this could certainly be
covered with the not offloaded ACS.

> With the patch, in the case like "hw_mode=a or g", we can still
> do ACS computing in hostapd, and offload ACS to the driver when
> "hw_mode=any", without special vendor data/command support.

Why would hw_mode=a be handled differently from hw_mode=any as far as
selecting between whether hostapd or the driver takes care of ACS?

> diff --git a/src/ap/acs.c b/src/ap/acs.c
> @@ -971,7 +971,8 @@ enum hostapd_chan_status acs_init(struct hostapd_iface *iface)
>  {
>  	wpa_printf(MSG_INFO, "ACS: Automatic channel selection started, this may take a bit");
>  
> -	if (iface->drv_flags & WPA_DRIVER_FLAGS_ACS_OFFLOAD) {
> +	if ((iface->drv_flags & WPA_DRIVER_FLAGS_ACS_OFFLOAD) ||
> +	    (iface->conf->hw_mode == HOSTAPD_MODE_IEEE80211ANY)) {
>  		wpa_printf(MSG_INFO, "ACS: Offloading to driver");

This would break existing use case of using ACS offload to pick a
channel within a single band. It is not appropriate to break deployed
functionality.

-- 
Jouni Malinen                                            PGP id EFC895FA

_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[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