From: Johannes Berg <johannes@sipsolutions.net>
To: Harshitha Prem <harshitha.prem@oss.qualcomm.com>,
linux-wireless@vger.kernel.org
Cc: Karthikeyan Kathirvel <karthikeyan.kathirvel@oss.qualcomm.com>,
vasanthakumar.thiagarajan@oss.qualcomm.com,
Lorenzo Bianconi <lorenzo@kernel.org>,
ath12k@lists.infradead.org,
Jeff Johnson <jeff.johnson@oss.qualcomm.com>,
Ping-Ke Shih <pkshih@realtek.com>
Subject: Re: [PATCH wireless-next v8 2/3] wifi: cfg80211: add initial UHR support
Date: Fri, 13 Feb 2026 11:26:57 +0100 [thread overview]
Message-ID: <9576fdbc0b9b62caba88e05716d7c7028512130d.camel@sipsolutions.net> (raw)
In-Reply-To: <be9ab3c7f05b0f56f19aee0ffc7c2f96138b9a05.camel@sipsolutions.net>
On Fri, 2026-02-13 at 11:11 +0100, Johannes Berg wrote:
> Hi Harshita,
>
> > > Should we add a separate netlink attribute for the UHR operation, which
> > > hostapd would fill with the _full_ data like it appears in association
> > > response etc.?
> > >
> > > That way, hostapd doesn't need to build a separate data/attribute
> > > structure but can just use hostapd_eid_uhr_operation(..., false) for it.
> > >
> > > An alternative would be to add more attributes for everything, but it's
> > > probably more complicated on both sides?
>
> > Thank you for the suggestions.
> >
> > We feel that using separate nested attributes for each feature is the better approach, as this allows us to reuse the attributes for the Enhanced BSS Parameter Critical Update procedure, where similar information is carried in the UHR parameters update element.
>
> Heh, I'll admit I'm surprised - I'm usually the one advocating for
> finer-grained attributes, and here I didn't ;-)
Wait, so I wrote a lot and forgot to circle back to this question ...
Basically I think that it's not going to be useful to split it up. I
have no objections to it, but it complicates the code (especially in
hostapd) quite a bit, because it's going to be either
1) include each thing (NPCA, DBE, ...) in its own attribute, so that
e.g. NPCA would be 4 or 6 bytes per spec format, but then we need
separate validation for each in nl80211
2) we really break it all down to each individual value, so e.g. NPCA
would have separate attributes for minimum duration threshold,
switch and switch back delay, initial QSRC and a MOPLEN flag; this
is a bit easier to capture in a policy, but a LOT of parameters
overall.
The thing - and why I wrote so much - is that we basically only need a
single current, and in the case of updates additionally a single post-
update, UHR operation.
So unless we're going to completely design away from beacon templates
and create an API where including the UHR Parameters Update element is
fully the firmware's (or driver's) responsibility across all the
different frame types, then the split isn't really needed. And even if
we _do_ design it completely that way, giving the post-update UHR
operation and comparing to the pre-update one isn't a huge stretch for a
design that just required fully rebuilding all the frames (parsing all
the way into fragmented elements and putting them back together in a
completely new way, including re-fragmenting elements and subelements
etc. which all sounds very messy to me.)
johannes
next prev parent reply other threads:[~2026-02-13 10:27 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-30 15:21 [PATCH wireless-next v8 0/3] wifi: initial UHR support Johannes Berg
2026-01-30 15:21 ` [PATCH wireless-next v8 1/3] wifi: ieee80211: add some initial UHR definitions Johannes Berg
2026-01-30 15:21 ` [PATCH wireless-next v8 2/3] wifi: cfg80211: add initial UHR support Johannes Berg
2026-02-11 14:19 ` Johannes Berg
2026-02-12 11:08 ` Harshitha Prem
2026-02-13 10:11 ` Johannes Berg
2026-02-13 10:26 ` Johannes Berg [this message]
2026-02-16 17:39 ` Harshitha Prem
2026-02-16 17:17 ` Harshitha Prem
2026-02-17 10:05 ` Johannes Berg
2026-02-24 11:01 ` Harshitha Prem
2026-03-06 12:43 ` Johannes Berg
2026-03-12 5:49 ` Harshitha Prem
2026-03-12 8:22 ` Johannes Berg
2026-03-12 19:32 ` Johannes Berg
2026-01-30 15:21 ` [PATCH wireless-next v8 3/3] wifi: mac80211: " Johannes Berg
2026-01-30 18:29 ` Pablo MARTIN-GOMEZ
2026-02-02 8:27 ` Johannes Berg
2026-02-02 10:27 ` [PATCH wireless-next v8 0/3] wifi: " Pablo MARTIN-GOMEZ
2026-02-02 11:13 ` Johannes Berg
2026-02-02 10:50 ` Karthikeyan Kathirvel
2026-02-02 11:12 ` Johannes Berg
2026-02-05 8:38 ` Karthikeyan Kathirvel
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=9576fdbc0b9b62caba88e05716d7c7028512130d.camel@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=ath12k@lists.infradead.org \
--cc=harshitha.prem@oss.qualcomm.com \
--cc=jeff.johnson@oss.qualcomm.com \
--cc=karthikeyan.kathirvel@oss.qualcomm.com \
--cc=linux-wireless@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=pkshih@realtek.com \
--cc=vasanthakumar.thiagarajan@oss.qualcomm.com \
/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