ieee80211: complete Action No Ack exchanges without ACK wait - #1207
Draft
mgonzalezlopezudc wants to merge 2 commits into
Draft
mgonzalezlopezudc wants to merge 2 commits into
mgonzalezlopezudc wants to merge 2 commits into
Conversation
STA management frames built before association omitted Address3. Carry the procedure-selected BSSID in a typed request tag and honor it at MAC header construction, preserving the AP fallback and keeping receiver address distinct from BSSID. A real STA scan/authentication/association test checks management Address3 at the MAC boundary, including wildcard probes. Change: src.ieee80211.management | behavior.change.fix | test | wifi-audit
Policy-only exclusion still selected an ACK-waiting frame sequence and left an individually addressed management frame in progress. Align sender and recipient policies, Duration calculations, DCF/HCF sequences and implicit-success cleanup. Reset the transmitting EDCAF recovery state without resetting an unrelated best-effort contention window. Policy and duration tests pass. Real DCF and HCF exchanges, each with and without forced RTS/CTS, transmit Action No Ack once without an ACK and then successfully acknowledge the following ordinary management frame. Change: src.ieee80211.mac | behavior.change.fix | test | wifi-audit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Action No Ack incorrectly followed ACK-requiring policies and frame sequences. Correct all four policies, Duration handling and DCF/HCF successful completion, including recovery and queue cleanup.
Scope
ACK policies, frame sequences, protection and recovery; BSSID prerequisite first.
Standards references: IEEE 802.11-2024 §§10.3.2.11 and 9.2.5.2.
Dependencies and merge order
Depends on #1199 (management BSSID and Capability Information). Merge that PR first.
This branch currently carries the BSSID prerequisite, but not the capability changes. The prerequisite commit is already covered by the management PR. After it merges, rebase this branch onto updated
master, drop the equivalent BSSID prerequisite, resolve overlapping management/MAC changes, and rerun this PR’s focused tests. This PR is not ready to merge before that reconciliation.Validation
Pinned test base:
7287f347aaca36e557c708d6930a6f5a450b2833.The isolated topic head passed an assertions-enabled debug build (
-O0 -Wall -g0; debug symbols omitted for storage) and the focused checks below. The larger integration source tree also passed debug and release compilation; no separate release build is claimed for this topic.Executed focused test commands, from the repository root after
source setenv -q:Results: 2 unit, 4 module cases passed.
Limits and review status
Tests include forced RTS and following ordinary management traffic; no new user configuration.
Draft pending final independent review and reconciliation with current upstream. Live PR overlap has not been reverified against the pinned test base.