From: Johannes Berg <johannes@sipsolutions.net>
To: Lachlan Hodges <lachlan.hodges@morsemicro.com>
Cc: linux-wireless@vger.kernel.org, arien.judge@morsemicro.com
Subject: Re: [RFC 0/5] wifi: S1G short beacon support
Date: Mon, 14 Jul 2025 14:50:42 +0200 [thread overview]
Message-ID: <fa265deeae5dedcc7e13cda8cccd9b42f85026d3.camel@sipsolutions.net> (raw)
In-Reply-To: <20250714051403.597090-1-lachlan.hodges@morsemicro.com> (sfid-20250714_071427_168904_8E2A2A44)
Hi,
So just to say this up front I have very little interest per se in this
feature directly, so I'll mostly leave it to you :)
> Preface:
>
> Previously, some work was done ~2 years ago to get short beaconing
> in the kernel but it was never successful. The patches can be found
> here:
>
> 1/2: https://patchwork.kernel.org/project/linux-wireless/patch/20230810093556.33800-1-bassem@morsemicro.com/
> 2/2: https://patchwork.kernel.org/project/linux-wireless/patch/20230810093556.33800-2-bassem@morsemicro.com/
Heh, I didn't even remember.
> There is something to say regarding whether this is "correct" as
> after all they are extension frames and while we feel this is the best
> approach when all factors are taken into account - ultimately it is
> up to maintainers to decide.
Seems reasonable to me, and anyway probably necessary so that we don't
regress.
> 11.1.3.10.2:
>
> "The value for the dot11ShortBeaconPeriod shall be such that
> dot11BeaconPeriod = n * dot11ShortBeaconPeriod, where n is a
> positive integer. This defines a series of TSBTTs exactly
> dot11ShortBeaconPeriod TUs apart"
>
> the value for n here is what we are denoting as
> s1g_short_beacon_period (another deviation from the naming
> within the standard) which represents the number of short
> beacons between each long beacon.
That seems slightly confusing - I've have interpreted a 'period' either
as a span of time (as in the spec), or the number of steps between
events, so maybe that's rather 's1g_long_beacon_period'? But if the spec
uses period as a span of time, then perhaps 's1g_long_beacon_step' or
something would be easier to understand? Not sure ...
> To keep track of the current
> state, we introduce a new parameter sb_count within the
> struct ps_data structure to track the current index into this
> period. This is what is used to determine whether we send a
> long or short beacon on beacon retrieval where a value of 0
> indicates a long beacon (following the same cadence of
> decrementing the DTIM count).
Seems fair.
> (4) Beacon retrieval
>
> There were essentially two options we could take with regards to
> retrieving the beacons:
>
> 1.implement it in the traditional beacon path via
> ieee80211_beacon_get_ap
>
> 2.Implement an S1G (or maybe extension frame?) specific path
> such as ieee80211_s1g_beacon_get_ap where the S1G specific
> handling can be done in its own function, leaving the regular
> beacon path untouched
>
> We have opted to take method (1) but this really comes down to
> maintainers preference. New conditionals will be introduced
> in the beacon path regardless and we feel this is the best
> approach but are open to feedback.
That seems reasonable to me, why bother the driver with the difference,
it's likely simply going to transmit the frame anyway, regardless of
what it is.
> (5) Testing
>
> This patchset has been tested on the following configurations:
>
> 1. Multi-sta setup with real Morse Micro hardware.
> 2. S1G hwsim configuration with a single AP and > 10 STAs
> 3. 2.4GHz hwsim configuration to test for regressions along the
> non-s1g path consisting of a single AP and STA.
> 4. hostapd hwsim tests were run to ensure no regression for
> regular 2.4/5/6 radios.
Cool.
> (6) Other notes:
>
> 1. The update mechanism is not really that nice. Though that may
> stem from a misunderstanding with how FILS discovery and unsol
> bcast update mechanisms work. Since short beacons rely on a BSS
> to be configured we ensure that an update is only performed
> when this is the case, and when the BSS has not been configured
> we do not allow a set of parameters used for updating the beacon
> to be used when the BSS has not been initialised. Would like some
> feedback on our implementation here as Im not really convinved
> it's the right way, but it seems this is how we currently handle
> it. My understanding of an "update" is that we are updating an
> existing interface. When an interface is being initialised, we
> are not updating - we are setting... An option here is to just
> not even allow updates since this is how S1G is done now and this
> can be ammended in the future.
Noted. I'll go through the commits and shout if I find anything :)
johannes
next prev parent reply other threads:[~2025-07-14 12:50 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-14 5:13 [RFC 0/5] wifi: S1G short beacon support Lachlan Hodges
2025-07-14 5:13 ` [RFC 1/5] wifi: cfg80211: support configuring an S1G short beaconing BSS Lachlan Hodges
2025-07-14 13:00 ` Johannes Berg
2025-07-15 9:12 ` Lachlan Hodges
2025-07-15 9:18 ` Johannes Berg
2025-07-15 9:23 ` Johannes Berg
2025-07-14 5:14 ` [RFC 2/5] wifi: mac80211: support initialising " Lachlan Hodges
2025-07-14 13:03 ` Johannes Berg
2025-07-15 9:15 ` Lachlan Hodges
2025-07-14 5:14 ` [RFC 3/5] wifi: mac80211: configure power save for " Lachlan Hodges
2025-07-14 13:07 ` Johannes Berg
2025-07-14 5:14 ` [RFC 4/5] wifi: mac80211: support returning the S1G short beacon skb Lachlan Hodges
2025-07-14 5:14 ` [RFC 5/5] wifi: mac80211_hwsim: add S1G short beacon support Lachlan Hodges
2025-07-14 12:50 ` Johannes Berg [this message]
2025-07-15 9:07 ` [RFC 0/5] wifi: " Lachlan Hodges
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fa265deeae5dedcc7e13cda8cccd9b42f85026d3.camel@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=arien.judge@morsemicro.com \
--cc=lachlan.hodges@morsemicro.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).