Skip to content

ieee80211: complete Action No Ack exchanges without ACK wait - #1207

Draft
mgonzalezlopezudc wants to merge 2 commits into
inet-framework:masterfrom
mgonzalezlopezudc:fix/ieee80211-audit-action-no-ack
Draft

mgonzalezlopezudc wants to merge 2 commits into
inet-framework:masterfrom
mgonzalezlopezudc:fix/ieee80211-audit-action-no-ack

Conversation

@mgonzalezlopezudc

Copy link
Copy Markdown
Contributor

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:

inet_run_unit_tests -m debug -f 'Ieee80211ActionNoAck(Policy|Duration)_1\.test'
inet_run_module_tests -m debug -f 'Ieee80211ActionNoAckExchange(Qos|Rts|QosRts)?_1\.test'

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.

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant