Search Linux Wireless

Re: [PATCH v7 2/3] nl80211: additional processing in NL80211_CMD_SET_BEACON

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

 



Hi Aloka,

Sorry, clearly I dropped the ball on this.


On Thu, 2023-01-19 at 13:19 -0800, Aloka Dixit wrote:
> > But it doesn't change in bss_conf if you send change beacon, at least
> > not before these patches?
> > 
> > Or am I confusing myself?
> > 
> 
> Your understanding is correct, however, without these patches there is a 
> cascading effect.
> -> NL80211: If the attribute is not sent by user-space/processed in this 
> layer then cfg80211_ap_settings->fils_discovery->max_interval is 0 
> (default).
> -> MAC80211: max_interval=0, hence BSS_CHANGED_FILS_DISCOVERY is not set
> -> ath11k: BSS_CHANGED_FILS_DISCOVERY is not set hence driver doesn't 
> configure/re-configure. Unless target doesn't receive it every beacon 
> change, it disables it.

Hmm. But if max_interval is 0 in bss_conf then the driver might still
look at it even if BSS_CHANGED_FILS_DISCOVERY is not set, for example
for firmware restart? It seems bad to rely on the change flag only for
all this.

> I can make changes up to the driver to fix this part.

Not sure it's a driver change?

> > > I can think of following:
> > > (1) max_interval cannot be the enable/disable knob because then every
> > > code path in the userspace would still need to set it to non-zero to
> > > continue transmission. Are you okay with having extra members in enum
> > > nl80211_fils_discovery_attributes to ENABLE/DISABLE? I think that is
> > > what you suggested in your comment for the next patch in this series as
> > > well.
> > > 
> > > (2) If the template needs changing for any reason then the userspace
> > > will be responsible to send a new one. Until then the driver will
> > > continue the transmission with existing template and interval unless
> > > DISABLE is used.
> > > 
> > 
> > Were those meant to be mutually exclusive, because it doesn't seem like
> > that to me? I think (2) must be what happens now, before these patches,
> > because I don't see where it would be changed? Like I said above.
> > 
> 
> Not exclusive. I meant I can make both the changes above to not have the 
> above mentioned cascading effect

Right ok.

> 
> > I agree that we'd now need an explicit way to indicate "disable", but we
> > could for example say you disable by adding a nested
> > NL80211_ATTR_FILS_DISCOVERY attribute without any of the sub-attributes,
> > which logically kind of makes sense - you're changing
> > NL80211_ATTR_FILS_DISCOVERY, but you're not including a new set of
> > parameters, so logically that means disable?
> > 
> > johannes
> 
> Sure, will update nl80211_parse_fils_discovery() to allow this case and 
> reset all to 0/null etc.
> 
> I can start a new series with all the changes, and include current 
> patches last.
> 
> Will that work?

I think yes, seems like we have to fix up some things here first.

johannes




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux