Linux wireless drivers development
 help / color / mirror / Atom feed
From: Ria Thomas <ria.thomas@morsemicro.com>
To: johannes@sipsolutions.net
Cc: linux-wireless@vger.kernel.org, lachlan.hodges@morsemicro.com,
	arien.judge@morsemicro.com, pradeep.reddy@morsemicro.com,
	simon@morsemicro.com, Ria Thomas <ria.thomas@morsemicro.com>
Subject: [PATCH wireless-next v2 0/3] wifi: add S1G response indication configuration with NDP BA support
Date: Tue,  9 Dec 2025 11:54:21 +0530	[thread overview]
Message-ID: <20251209062424.3926297-1-ria.thomas@morsemicro.com> (raw)

This patchset adds support for S1G Response Indication configuration; 
section 10.3.2.17 and NDP ADDBA/DELBA negotiations; section 11.5.2.2 (b),
in accordance with IEEE 802.11-2024.

The Response Indication (RI) mechanism is unique to S1G and is used to
explicitly signal which type of response frame is expected at SIFS following
an eliciting frame. The RI is signaled in management and action frames and
must be tracked across session setup, which is very much required in
context of Block Ack negotiation.
The NDP-based Block Ack mechanism allows aggregation setup using null data
frames, avoiding legacy ADDBA/DELBA exchanges. When negotiation fails due to
mismatched support, the responder returns a status code indicating NDP
Block Ack is suggested (REJECTED_NDP_BLOCK_ACK_SUGGESTED), as
specified in IEEE 802.11-2024.

Trace sample:

IEEE 802.11 Wireless Management
    Fixed parameters
        Category code: Block Ack (3)
        Action code: NDP ADDBA Request (0x80)
        Dialog token: 0x01
        Block Ack Parameters: 0x1003, A-MSDUs, Block Ack Policy
            .... .... .... ...1 = A-MSDUs: Permitted in QoS Data MPDUs
            .... .... .... ..1. = Block Ack Policy: Immediate Block Ack
            .... .... ..00 00.. = Traffic Identifier: 0x0
            0001 0000 00.. .... = Number of Buffers (1 Buffer = 2304 Bytes): 64
        Block Ack Timeout: 0x0000
        Block Ack Starting Sequence Control (SSC): 0x0010
            .... .... .... 0000 = Fragment: 0
            0000 0000 0001 .... = Starting Sequence Number: 1

IEEE 802.11 Wireless Management
    Fixed parameters
        Category code: Block Ack (3)
        Action code: NDP ADDBA Response (0x81)
        Dialog token: 0x02
        Status code: BlockAck negotiation refused because, due to buffer constraints and other unspecified reasons, the recipient prefers to generate only NDP BlockAck frames (0x006d)
        Block Ack Parameters: 0x1002, Block Ack Policy
            .... .... .... ...0 = A-MSDUs: Not Permitted
            .... .... .... ..1. = Block Ack Policy: Immediate Block Ack
            .... .... ..00 00.. = Traffic Identifier: 0x0
            0001 0000 00.. .... = Number of Buffers (1 Buffer = 2304 Bytes): 64
        Block Ack Timeout: 0x0000

This patchset has been tested on S1G capable Morse Micro hardware and
verifies correct RI signaling and NDP Block Ack negotiation during
association and data exchange.

Changes since v1:
- Fixed kernel docs

Ria Thomas (3):
  wifi: cfg80211: Add support for S1G Response Indication Configuration
  wifi: mac80211: track S1G Response Indication (RI) and notify drivers
  wifi: mac80211: add support for NDP ADDBA/DELBA for S1G

 include/linux/ieee80211-ht.h  |  3 +++
 include/linux/ieee80211-s1g.h | 14 +++++++++++++
 include/linux/ieee80211.h     |  2 ++
 include/net/cfg80211.h        |  3 +++
 include/net/mac80211.h        |  9 +++++++++
 include/uapi/linux/nl80211.h  | 14 +++++++++++++
 net/mac80211/agg-rx.c         | 37 ++++++++++++++++++++++++++++++++---
 net/mac80211/agg-tx.c         | 22 +++++++++++++++++----
 net/mac80211/cfg.c            | 18 +++++++++++++++++
 net/mac80211/debugfs.c        |  1 +
 net/mac80211/ht.c             |  8 +++++---
 net/mac80211/ieee80211_i.h    |  9 ++++++++-
 net/mac80211/iface.c          |  3 +++
 net/mac80211/link.c           |  1 +
 net/mac80211/rx.c             | 11 +++++++++--
 net/mac80211/s1g.c            | 23 ++++++++++++++++++++++
 net/mac80211/sta_info.h       |  2 ++
 net/mac80211/util.c           |  3 +++
 net/wireless/nl80211.c        | 24 +++++++++++++++++++++++
 net/wireless/rdev-ops.h       | 14 +++++++++++++
 net/wireless/trace.h          | 18 +++++++++++++++++
 21 files changed, 226 insertions(+), 13 deletions(-)

-- 
2.25.1


             reply	other threads:[~2025-12-09  6:25 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-09  6:24 Ria Thomas [this message]
2025-12-09  6:24 ` [PATCH wireless-next v2 1/3] wifi: cfg80211: Add support for S1G Response Indication Configuration Ria Thomas
2026-01-08 12:27   ` Johannes Berg
2026-01-09  4:00     ` Ria Thomas
2026-01-13  8:50       ` Johannes Berg
2026-01-16  5:31         ` Ria Thomas
2026-02-06  6:11         ` Ria Thomas
2026-02-06  7:57           ` Johannes Berg
2026-02-12  8:43             ` Ria Thomas
2026-02-17 11:41               ` Johannes Berg
2025-12-09  6:24 ` [PATCH wireless-next v2 2/3] wifi: mac80211: track S1G Response Indication (RI) and notify drivers Ria Thomas
2025-12-09  6:24 ` [PATCH wireless-next v2 3/3] wifi: mac80211: add support for NDP ADDBA/DELBA for S1G Ria Thomas

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=20251209062424.3926297-1-ria.thomas@morsemicro.com \
    --to=ria.thomas@morsemicro.com \
    --cc=arien.judge@morsemicro.com \
    --cc=johannes@sipsolutions.net \
    --cc=lachlan.hodges@morsemicro.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=pradeep.reddy@morsemicro.com \
    --cc=simon@morsemicro.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