From: Hilal Rahmatullah <hilalrahmatullah11@gmail.com>
To: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>,
Donald Hunter <donald.hunter@gmail.com>,
netdev@vger.kernel.org (open list:NETWORKING [GENERAL]),
linux-kernel@vger.kernel.org (open list)
Cc: Hilal Rahmatullah <hilalrahmatullah11@gmail.com>
Subject: [PATCH net v3] wifi: nl80211: document sta-info nested attribute
Date: Sun, 16 Aug 2026 17:12:15 +0700 [thread overview]
Message-ID: <20260816101216.20947-1-hilalrahmatullah11@gmail.com> (raw)
Add NL80211_ATTR_STA_INFO nested attributes definition, from
the previous binary type.
Signed-off-by: Hilal Rahmatullah <hilalrahmatullah11@gmail.com>
---
changes in v2:
- Fix nested attribute name
- Add double quote for numeric enum member
changes in v3:
- add missing he-gi attribute on rate-info-attrs
- fix sta-info attributes order
---
Documentation/netlink/specs/nl80211.yaml | 351 ++++++++++++++++++++++-
1 file changed, 350 insertions(+), 1 deletion(-)
diff --git a/Documentation/netlink/specs/nl80211.yaml b/Documentation/netlink/specs/nl80211.yaml
index 802097128bda..4ad391db4a76 100644
--- a/Documentation/netlink/specs/nl80211.yaml
+++ b/Documentation/netlink/specs/nl80211.yaml
@@ -211,6 +211,70 @@ definitions:
- ht20
- ht40minus
- ht40plus
+ -
+ name: eht-gi
+ type: enum
+ entries:
+ - 0-8
+ - 1-6
+ - 3-2
+ -
+ name: eht-ru-alloc
+ type: enum
+ entries:
+ - "26"
+ - "52"
+ - 52p26
+ - "106"
+ - 106p26
+ - "242"
+ - "484"
+ - 484p242
+ - "996"
+ - 996p484
+ - 996p484p242
+ - 2x996
+ - 2x996p484
+ - 3x996
+ - 3x996p484
+ - 4x996
+ -
+ name: he-gi
+ type: enum
+ entries:
+ - 0-8
+ - 1-6
+ - 3-2
+ -
+ name: he-ru-alloc
+ type: enum
+ entries:
+ - "26"
+ - "52"
+ - "106"
+ - "242"
+ - "484"
+ - "996"
+ - 2x996
+ -
+ name: mesh-power-mode
+ type: enum
+ entries:
+ - unknown
+ - active
+ - light-sleep
+ - deep-sleep
+ -
+ name: plink-state
+ type: enum
+ entries:
+ - listen
+ - opn-snt
+ - opn-rcvd
+ - cnf-rcvd
+ - estab
+ - holding
+ - blocked
-
name: sta-flag-update
type: struct
@@ -297,7 +361,8 @@ attribute-sets:
type: u32
-
name: sta-info
- type: binary # TODO: nest
+ type: nest
+ nested-attributes: sta-info-attrs
-
name: wiphy-bands
type: nest
@@ -1601,6 +1666,102 @@ attribute-sets:
name: nan
type: nest
nested-attributes: frame-type-attrs
+ -
+ name: rate-info-attrs
+ enum-name: nl80211-rate-info
+ name-prefix: nl80211-rate-info-
+ attributes:
+ -
+ name: bitrate
+ type: u16
+ -
+ name: mcs
+ type: u8
+ -
+ name: 40-mhz-width
+ type: flag
+ -
+ name: short-gi
+ type: flag
+ -
+ name: bitrate32
+ type: u32
+ -
+ name: vht-mcs
+ type: u8
+ -
+ name: vht-nss
+ type: u8
+ -
+ name: 80-mhz-width
+ type: flag
+ -
+ name: 80p80-mhz-width
+ type: unused
+ -
+ name: 160-mhz-width
+ type: flag
+ -
+ name: 10-mhz-width
+ type: flag
+ -
+ name: 5-mhz-width
+ type: flag
+ -
+ name: he-mcs
+ type: u8
+ -
+ name: he-nss
+ type: u8
+ -
+ name: he-gi
+ type: u8
+ enum: he-gi
+ -
+ name: he-dcm
+ type: u8
+ -
+ name: he-ru-alloc
+ type: u8
+ enum: he-ru-alloc
+ -
+ name: 320-mhz-width
+ type: flag
+ -
+ name: eht-mcs
+ type: u8
+ -
+ name: eht-nss
+ type: u8
+ -
+ name: eht-gi
+ type: u8
+ enum: eht-gi
+ -
+ name: eht-ru-alloc
+ type: u8
+ enum: eht-ru-alloc
+ -
+ name: s1g-mcs
+ type: u8
+ -
+ name: s1g-nss
+ type: u8
+ -
+ name: 1-mhz-width
+ type: flag
+ -
+ name: 2-mhz-width
+ type: flag
+ -
+ name: 4-mhz-width
+ type: flag
+ -
+ name: 8-mhz-width
+ type: flag
+ -
+ name: 16-mhz-width
+ type: flag
-
name: sar-attributes
enum-name: nl80211-sar-attrs
@@ -1631,6 +1792,170 @@ attribute-sets:
-
name: end-freq
type: u32
+ -
+ name: sta-bss-param-attrs
+ enum-name: nl80211-sta-bss-param
+ name-prefix: nl80211-sta-bss-param-
+ attributes:
+ -
+ name: cts-prot
+ type: flag
+ -
+ name: short-preamble
+ type: flag
+ -
+ name: short-slot-time
+ type: flag
+ -
+ name: dtim-period
+ type: u8
+ -
+ name: beacon-interval
+ type: u16
+ -
+ name: sta-info-attrs
+ enum-name: nl80211-sta-info
+ name-prefix: nl80211-sta-info-
+ attributes:
+ -
+ name: inactive-time
+ type: u32
+ -
+ name: rx-bytes
+ type: u32
+ -
+ name: tx-bytes
+ type: u32
+ -
+ name: llid
+ type: u16
+ -
+ name: plid
+ type: u16
+ -
+ name: plink-state
+ type: u8
+ enum: plink-state
+ -
+ name: signal
+ type: u8
+ -
+ name: tx-bitrate
+ type: nest
+ nested-attributes: rate-info-attrs
+ -
+ name: rx-packets
+ type: u32
+ -
+ name: tx-packets
+ type: u32
+ -
+ name: tx-retries
+ type: u32
+ -
+ name: tx-failed
+ type: u32
+ -
+ name: signal-avg
+ type: u8
+ -
+ name: rx-bitrate
+ type: nest
+ nested-attributes: rate-info-attrs
+ -
+ name: bss-param
+ type: nest
+ nested-attributes: sta-bss-param-attrs
+ -
+ name: connected-time
+ type: u32
+ -
+ name: sta-flags
+ type: binary
+ struct: sta-flag-update
+ -
+ name: beacon-loss
+ type: u32
+ -
+ name: t-offset
+ type: s64
+ -
+ name: local-pm
+ type: u32
+ enum: mesh-power-mode
+ -
+ name: peer-pm
+ type: u32
+ enum: mesh-power-mode
+ -
+ name: nonpeer-pm
+ type: u32
+ enum: mesh-power-mode
+ -
+ name: rx-bytes64
+ type: u64
+ -
+ name: tx-bytes64
+ type: u64
+ -
+ name: chain-signal
+ type: u8
+ -
+ name: chain-signal-avg
+ type: u8
+ -
+ name: expected-throughput
+ type: u32
+ -
+ name: rx-drop-misc
+ type: u64
+ -
+ name: beacon-rx
+ type: u64
+ -
+ name: beacon-signal-avg
+ type: u8
+ -
+ name: tid-stats
+ type: indexed-array
+ sub-type: nest
+ nested-attributes: tid-stats-attrs
+ -
+ name: rx-duration
+ type: u64
+ -
+ name: pad
+ type: binary
+ -
+ name: ack-signal
+ type: u8
+ -
+ name: ack-signal-avg
+ type: u8
+ -
+ name: rx-mpdus
+ type: u32
+ -
+ name: fcs-error-count
+ type: u32
+ -
+ name: connected-to-gate
+ type: u8
+ -
+ name: tx-duration
+ type: u64
+ -
+ name: airtime-weight
+ type: u16
+ -
+ name: airtime-link-metric
+ type: u32
+ -
+ name: assoc-at-boottime
+ type: u64
+ -
+ name: connected-to-as
+ type: u8
-
name: supported-iftypes
enum-name: nl80211-iftype
@@ -1672,6 +1997,30 @@ attribute-sets:
-
name: nan
type: flag
+ -
+ name: tid-stats-attrs
+ enum-name: nl80211-tid-stats
+ name-prefix: nl80211-tid-stats-
+ attributes:
+ -
+ name: rx-msdu
+ type: u64
+ -
+ name: tx-msdu
+ type: u64
+ -
+ name: tx-msdu-retries
+ type: u64
+ -
+ name: tx-msdu-failed
+ type: u64
+ -
+ name: pad
+ type: binary
+ -
+ name: txq-stats
+ type: nest
+ nested-attributes: txq-stats-attrs
-
name: txq-stats-attrs
name-prefix: nl80211-txq-stats-
--
2.53.0
reply other threads:[~2026-08-16 10:12 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20260816101216.20947-1-hilalrahmatullah11@gmail.com \
--to=hilalrahmatullah11@gmail.com \
--cc=davem@davemloft.net \
--cc=donald.hunter@gmail.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.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