ieee80211: correct wire encoding and receive behavior - #1189
Merged
levy merged 9 commits intoSep 14, 2026
Merged
Conversation
mgonzalezlopezudc
force-pushed
the
fix/ieee80211-wire-and-receive-correctness
branch
4 times, most recently
from
September 14, 2026 12:27
7925d04 to
3e9e9e8
Compare
Separate the existing final-newline and trailing-blank-line normalization from the behavioral fixes so each later diff describes only its decision. The scoped debug opp_repl fingerprint is unchanged. Validation: incremental debug build, directly related tests and scoped opp_repl controls passed.
Mesh path errors without forwarding information must use reason 62 (IEEE Std 802.11-2024, Table 9-79). Value 60 already denotes invalid mesh security capability. Verify the independent wire bytes and document the numeric migration. The scoped debug opp_repl fingerprint is unchanged. Validation: incremental debug build, directly related tests and scoped opp_repl controls passed.
Non-QoS data shares the legacy receive cache with management traffic, rather than QoS TID 0 (IEEE Std 802.11-2024, Table 10-6). Separate these identities so a valid retry cannot be discarded because an unrelated QoS frame reused its sequence number. Exercise the recipient delivery path and transmitter/TID/fragment distinctions. The 158 explicitly selected legacy fingerprint cases pass in debug mode. This commit changes 0 selected rows: 0 with trajectory changes and 0 with serialized-byte changes. Record only measured causal differences; preserve graphical expectations and unselected entries. Attribution and per-case deltas are in ai-logs/executions/2026-09-14_pr1189-cleanup/. Validation: incremental debug build, directly related tests and scoped opp_repl controls passed.
Encode TID, Ack Policy and A-MSDU Present in their standard QoS Control positions (IEEE Std 802.11-2024, Table 9-10). Leave unmodeled bit 4 clear instead of advertising EOSP or an empty queue. Verify independent octets across all DS layouts and decode both bit-4 values. The 158 explicitly selected legacy fingerprint cases pass in debug mode. This commit changes 18 selected rows: 0 with trajectory changes and 18 with serialized-byte changes. Record only measured causal differences; preserve graphical expectations and unselected entries. Attribution and per-case deltas are in ai-logs/executions/2026-09-14_pr1189-cleanup/. Validation: incremental debug build, directly related tests and scoped opp_repl controls passed.
Preserve configured noncompliant reception: RATE 0 is a placeholder, not an undefined standard mode. Check parity in both operating modes and gate the standard RATE table on receiver compliance. OFDM SIGNAL bit 17 supplies even parity over bits 0-16, and reception must reject undefined RATE values (IEEE Std 802.11-2024, 17.3.4.2 and 17.3.4.4). Share the wire-integrity calculation between packet-level and bit-level radios, and test valid, corrupted, reserved-bit and undefined-rate inputs through the real radio methods. The 158 explicitly selected legacy fingerprint cases pass in debug mode. This commit changes 158 selected rows: 0 with trajectory changes and 158 with serialized-byte changes. Record only measured causal differences; preserve graphical expectations and unselected entries. Attribution and per-case deltas are in ai-logs/executions/2026-09-14_pr1189-cleanup/. Validation: incremental debug build, directly related tests and scoped opp_repl controls passed.
ERP reuses the OFDM SIGNAL factory, which constructs a base OFDM header. Preserve the selected ERP header type and protocol, and dispatch HR-DSSS before its DSSS base type. Verify the derived PHY identities through encapsulation, serialization and decapsulation. The 158 explicitly selected legacy fingerprint cases pass in debug mode. This commit changes 0 selected rows: 0 with trajectory changes and 0 with serialized-byte changes. Record only measured causal differences; preserve graphical expectations and unselected entries. Attribution and per-case deltas are in ai-logs/executions/2026-09-14_pr1189-cleanup/. Validation: incremental debug build, directly related tests and scoped opp_repl controls passed.
AP target spacing must agree with the advertised TU interval (IEEE Std 802.11-2024, 9.4.1.3). Normalize once during initialization and reject values outside the 16-bit TU domain before scheduling or serialization. Include real AP target-spacing checks, serializer rejection coverage, and the valid-interval repair for the existing missing-channel fixture. The 158 explicitly selected legacy fingerprint cases pass in debug mode. This commit changes 30 selected rows: 30 with trajectory changes and 30 with serialized-byte changes. Record only measured causal differences; preserve graphical expectations and unselected entries. Attribution and per-case deltas are in ai-logs/executions/2026-09-14_pr1189-cleanup/. Validation: incremental debug build, directly related tests and scoped opp_repl controls passed. Introduce AP scheduling coverage in the module suite, whose explicit activity module exercises initialization and timer-driven Beacon/Probe Response creation.
AP management needs the band and channel as a consistent radio observation, without accessing a concrete transmitter. Publish immutable band details during initialization and runtime changes. Give transmitter and receiver separate owned channel objects so later band changes cannot free a shared object twice. Verify preconfigured radios, synchronous detail lifetime, unavailable channels and runtime HT updates. The 158 explicitly selected legacy fingerprint cases pass in debug mode. This commit changes 0 selected rows: 0 with trajectory changes and 0 with serialized-byte changes. Record only measured causal differences; preserve graphical expectations and unselected entries. Attribution and per-case deltas are in ai-logs/executions/2026-09-14_pr1189-cleanup/. Validation: incremental debug build, directly related tests and scoped opp_repl controls passed.
The DSSS Current Channel element carries a standard channel number, not a band-local index (IEEE Std 802.11-2024, 9.4.2.4 and Tables 9-62/9-69). Advertise it for modeled 2.4 GHz operation, account for its wire length, and convert back through the receive band during discovery. Retain receive-channel fallback and HT Operation authority; test absent, malformed and duplicate elements. The 158 explicitly selected legacy fingerprint cases pass in debug mode. This commit changes 30 selected rows: 30 with trajectory changes and 30 with serialized-byte changes. Record only measured causal differences; preserve graphical expectations and unselected entries. Attribution and per-case deltas are in ai-logs/executions/2026-09-14_pr1189-cleanup/. Validation: incremental debug build, directly related tests and scoped opp_repl controls passed. Legacy custom 2.4 GHz bands without a standard-channel map otherwise abort on the next Beacon or Probe Response. Omit DSSS for this nonstandard legacy operation, keep channel-index validation and strict HT mapping, and document the modeling simplification. Cover mapped and unmapped custom bands through fresh scheduled Beacons, Probe Responses and serialized body lengths.
mgonzalezlopezudc
force-pushed
the
fix/ieee80211-wire-and-receive-correctness
branch
from
September 14, 2026 12:45
3e9e9e8 to
b5c3c8e
Compare
mgonzalezlopezudc
deleted the
fix/ieee80211-wire-and-receive-correctness
branch
September 14, 2026 13:08
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.
What
Correct IEEE 802.11 wire byte encoding, parameter sets, parity generation and validation, PHY protocol identification, AP beacon interval normalization, standard channel advertisement, radio channel change notifications, and receive duplicate handling for QoS Control, OFDM PHY, DSSS Parameter Sets, and Mesh Error codes.
The changes are organized into a clean, 9-commit linear series where whitespace is isolated first, each technical decision is self-contained with its dedicated unit/module tests, and fingerprint baseline movements accompany their direct causal commits.
Series Base & Prerequisites
This series is rebased directly onto upstream master (
d9ae46234d), which already integrates prerequisite PR #1188 (0c5ccf5209..d9ae46234d,ieee80211: correct Block Ack and aggregation frame representations). Consequently, this pull request has no external PR dependencies and applies cleanly as a self-contained 9-commit series on master. Fingerprint baseline updates in commit 4 (6a87501b0e) and subsequent commits reflect the composition of master's Block Ack action and A-MSDU header corrections with this series' QoS Control bit position corrections.Why
Incidental whitespace isolation:
Separates pre-existing trailing whitespace and trailing newline adjustments in modified files from functional changes so that each subsequent commit diff highlights solely its technical decision.
Mesh Path Error reason code:
Per IEEE Std 802.11-2024 Table 9-79,
RC_MESH_PATH_ERROR_NO_FORWARDING_INFORMATIONmust use numeric reason code 62. Reason code 60 already designates an invalid mesh security capability.Ieee80211MgmtFrame.msgcorrected this value, documented the numeric migration inWHATSNEWand the migration guide, and verified wire serialization inIeee80211BeaconWire_1.test.Non-QoS duplicate removal separation:
Per IEEE Std 802.11-2024 § 10.3.2.14.3 and Table 10-6, non-QoS Data (
ST_DATA) shares the legacy receive duplicate cache (RC1) with management frames, rather than the per-TID QoS Data cache (RC2).QosDuplicateRemoval.ccpreviously aliased non-QoS data to QoS TID 0, allowing an unrelated QoS data frame to prematurely drop a valid non-QoS retry if sequence numbers coincided.QoS Control standard bit positions:
Per IEEE Std 802.11-2024 Table 9-10, the 16-bit QoS Control field encodes TID in bits B0–B3, bit B4 as EOSP / subframe type depending on STA role, Ack Policy in bits B5–B6, and A-MSDU Present in bit B7.
Ieee80211MacHeaderSerializer.ccpreviously transposed Ack Policy and A-MSDU Present bits and set unmodeled bit B4. The layout is corrected and unmodeled bit B4 is cleared, verified across all Distribution System address layouts.OFDM SIGNAL parity and RATE validation:
Per IEEE Std 802.11-2024 § 17.3.4.4, bit 17 of the OFDM SIGNAL field provides even parity across bits 0–16. In accordance with §§ 17.3.4.2 and 17.3.12, all eight defined RATE codes are odd 4-bit values. The bit-level (
Ieee80211OfdmRadio) and packet-level (Ieee80211Radio) models compute and insert parity on transmit, and validate parity and standard RATE validity on reception. Configured noncompliant reception is preserved: receiver compliance is checked so that testbeds using placeholder RATE 0 continue to deliver packets.HR-DSSS and ERP PHY identity preservation:
ERP reuses OFDM's SIGNAL mode objects, whose factory constructs a base OFDM header.
Ieee80211Radio::encapsulatenow ensures ERP transmissions retainIeee80211ErpOfdmPhyHeaderandProtocol::ieee80211ErpOfdmPhy, and orders HR-DSSS ahead of DSSS dispatch so transmissions carry their specific PHY protocol identities.AP Beacon scheduling and interval normalization:
Per IEEE Std 802.11-2024 § 9.4.1.3, Beacon Interval is a 16-bit field in Time Units (1 TU = 1024 µs), valid in the range 1 to 65535 TUs. AP beacon intervals are normalized down to whole 1024-µs TUs during initialization for both target scheduling and frame advertisement (e.g., default
100msbecomes 97 TUs = 99.328 ms), ensuring AP target spacing and advertised frame content agree. Values outside the 16-bit domain are rejected before scheduling or serialization.Consistent radio channel observations:
AP management requires band and channel configuration without direct access to concrete transmitter pointers.
Ieee80211Radiopublishes immutableIeee80211RadioChannelChangedDetailsonradioChannelChangedSignalduring initialization and runtime channel updates. Transmitter and receiver maintain separate owned channel instances, preventing double-free defects during runtime band reconfigurations.Standard DSSS Current Channel advertisement and STA discovery:
Per IEEE Std 802.11-2024 § 9.4.2.4 and Tables 9-62 / 9-69, Beacon and Probe Response frames advertise the DSSS Parameter Set Current Channel element (element ID 3, 3 bytes) for 2.4 GHz operation.
Ieee80211BeaconFrame::channelNumberrepresents the standard channel number (default-1when absent) rather than an internal band index.Ieee80211MgmtStaconverts standard channel numbers back to band indices during discovery and falls back to receive channel when absent or when HT Operation is present. Legacy custom 2.4 GHz bands without a standard channel mapping omit the element, preserving backward compatibility while strictly checking HT mappings.Reading Order
The branch consists of 9 linear commits building on top of
master(d9ae46234d):326ae2fc3a—chore: isolate trailing whitespace normalizationmaster(d9ae46234d).doc/src/migration-guide/index.rstsrc/inet/linklayer/ieee80211/mac/duplicateremoval/QosDuplicateRemoval.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtApBase.hsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.ccsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.hsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.nedbbe54a426d—ieee80211: correct the mesh no-forwarding reason codeRC_MESH_PATH_ERROR_NO_FORWARDING_INFORMATIONinIeee80211MgmtFrame.msgfrom 60 to 62 per IEEE Std 802.11-2024 Table 9-79; document migration guidance.326ae2fc3a).WHATSNEWdoc/src/migration-guide/index.rstsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtFrame.msgtests/unit/Ieee80211BeaconWire_1.testIeee80211BeaconWire_1.testverifies wire serialization and reason code constant.72ba7b29de—ieee80211: isolate non-QoS receive duplicate identitiesQosDuplicateRemoval.ccto the legacy cache (RC1) per Table 10-6 instead of aliasing QoS TID 0.326ae2fc3a).WHATSNEWsrc/inet/linklayer/ieee80211/mac/duplicateremoval/QosDuplicateRemoval.cctests/unit/Ieee80211QosDuplicateRemoval_1.testIeee80211QosDuplicateRemoval_1.testvalidates separation between non-QoS and QoS sequence tracking, retry handling, and delivery.6a87501b0e—ieee80211: encode QoS Control in standard bit positionsIeee80211MacHeaderSerializer.ccto match Table 9-10 (TID bits 0–3, bit 4 clear, Ack Policy bits 5–6, A-MSDU Present bit 7). Composes with master's integrated Block Ack and A-MSDU representations.326ae2fc3a).WHATSNEWsrc/inet/linklayer/ieee80211/mac/Ieee80211MacHeaderSerializer.cctests/fingerprint/examples.csvtests/fingerprint/showcases.csvtests/unit/Ieee80211OnWireBitCompliance_1.testIeee80211OnWireBitCompliance_1.testchecks byte patterns across all DS configurations.~tNDonly, identicaltplxand~tNl).a7e2c37a90—ieee80211: generate and validate OFDM SIGNAL parity326ae2fc3a).WHATSNEWsrc/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmReceiver.hsrc/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmRadio.ccsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211OfdmSignalField.hsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.cctests/fingerprint/examples.csvtests/fingerprint/showcases.csvtests/fingerprint/tutorials.csvtests/unit/Ieee80211RadioWireIdentity_1.testIeee80211RadioWireIdentity_1.testverifies transmit parity calculation and receive rejection across modes.~tNDonly, identicaltplxand~tNl).1b6878a3f6—ieee80211: preserve HR-DSSS and ERP PHY identitiesIeee80211ErpOfdmPhyHeaderandProtocol::ieee80211ErpOfdmPhyon ERP frames during encapsulation; order HR-DSSS ahead of DSSS dispatch inIeee80211Radio.326ae2fc3a) and 5 (a7e2c37a90).WHATSNEWsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.cctests/unit/Ieee80211RadioWireIdentity_1.testIeee80211RadioWireIdentity_1.testcovers encapsulation, serialization, and decapsulation PHY protocol identity fidelity.9ee9d2725f—ieee80211: normalize beacon intervals before scheduling326ae2fc3a).WHATSNEWdoc/src/migration-guide/index.rstsrc/inet/linklayer/ieee80211/mgmt/Ieee80211BeaconInterval.hsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtAp.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtAp.nedsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtFrameSerializer.cctests/fingerprint/examples.csvtests/fingerprint/showcases.csvtests/fingerprint/tutorials.csvtests/module/Ieee80211BeaconSchedule_1.testtests/module/Ieee80211MgmtApUnavailableChannel_1.testtests/unit/Ieee80211BeaconWire_1.testtests/unit/Ieee80211HtMgmtElements_1.testIeee80211BeaconWire_1.testandIeee80211MgmtFrameSerializer_1.testtest serializer validation;Ieee80211BeaconSchedule_1.testtests runtime scheduling intervals.b91685bea9—ieee80211: publish consistent radio channel observationsIeee80211RadioChannelChangedDetailsonradioChannelChangedSignalduring initialization and channel changes; decouple transmitter and receiver channel instance ownership inIeee80211Radioto prevent double-free defects.326ae2fc3a).src/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtApBase.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtApBase.hsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.ccsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.hsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.nedsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211RadioChannelChangedDetails.htests/module/Ieee80211BeaconSchedule_1.testtests/module/Ieee80211MgmtApChannelChange_1.testtests/module/Ieee80211MgmtApUnavailableChannel_1.testb5c3c8ee49—ieee80211: advertise and decode standard DSSS channelsIeee80211BeaconFrame::channelNumber(default-1when absent); convert back to band indices during STA discovery with receive-channel fallback. Omit DSSS for unmapped legacy custom 2.4 GHz bands while retaining channel-index validation and strict HT mapping.9ee9d2725f) and 8 (b91685bea9).WHATSNEWdoc/src/migration-guide/index.rstsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtAp.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtApBase.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtApBase.hsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtFrame.msgsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtFrameSerializer.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtSta.cctests/fingerprint/examples.csvtests/fingerprint/showcases.csvtests/fingerprint/tutorials.csvtests/module/Ieee80211BeaconSchedule_1.testtests/unit/Ieee80211BeaconWire_1.testtests/unit/Ieee80211MgmtStaDiscovery_1.testIeee80211BeaconWire_1.testvalidates 3-byte serialization and malformed rejection;Ieee80211MgmtStaDiscovery_1.testvalidates discovery channel conversion and fallbacks; module testIeee80211BeaconSchedule_1.testcovers scheduled frames across mapped and unmapped custom bands.Architectural Surface
src/inet/linklayer/ieee80211/mac/Ieee80211MacHeaderSerializer.ccsrc/inet/linklayer/ieee80211/mac/duplicateremoval/QosDuplicateRemoval.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211BeaconInterval.hsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtAp.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtAp.nedsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtApBase.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtApBase.hsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtFrame.msgsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtFrameSerializer.ccsrc/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtSta.ccsrc/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmReceiver.hsrc/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmRadio.ccsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211OfdmSignalField.hsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.ccsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.hsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211Radio.nedsrc/inet/physicallayer/wireless/ieee80211/packetlevel/Ieee80211RadioChannelChangedDetails.hQosDuplicateRemoval): strict partition between legacy cache (RC1) and per-TID QoS cache (RC2).Ieee80211RadiopublishesIeee80211RadioChannelChangedDetailsonradioChannelChangedSignal.Ieee80211Radioencapsulates ERP frames withIeee80211ErpOfdmPhyHeaderandProtocol::ieee80211ErpOfdmPhy, and orders HR-DSSS before DSSS.Ieee80211MgmtSta): converts standard DSSS Current Channel numbers to internal band channel indices, respecting HT Operation priority and receive-channel fallbacks.channelNumberinIeee80211BeaconFramestores standard channel number (-1if absent).RC_MESH_PATH_ERROR_NO_FORWARDING_INFORMATIONcorrected to 62.Ieee80211MgmtAp.ned:beaconIntervalparameter comment updated to clarify 1..65535 TUs range and integer TU normalization.src/inet/are unsealed (doc/project/enforcement/check-source-seals.shPASS).AV-*) or naming deviations (NV-*) introduced. Pre-existing repository violations match the base.Baselines
Fingerprint baseline updates are causally split and committed alongside their triggering changes:
6a87501b0e): 18 rows inexamples.csvandshowcases.csvupdated solely for QoS Control serialized byte changes (~tND), withtplxand~tNlunchanged. Composes with master's Block Ack action and A-MSDU header updates.a7e2c37a90): 158 rows acrossexamples.csv,showcases.csv, andtutorials.csvupdated for OFDM SIGNAL parity serialized bytes (~tND), withtplxand~tNlunchanged. Restores 100/100 delivery inLayeredNonCompliant80211Ping.9ee9d2725f): 30 rows updated for AP beacon interval normalization (97 TUs = 99.328 ms instead of 100 ms), with both trajectory and serialized byte changes.b5c3c8ee49): 30 rows updated for 2.4 GHz DSSS Current Channel element wire presence and length in Beacons/Probe Responses.Across all 158 legacy regression test tuples, all test cases pass cleanly with no unmodeled drift.
Verification Evidence
make -j$(nproc) MODE=debug: PASS (libINET_dbg.so).make -j$(nproc) MODE=release: PASS (libINET.so).doc/project/enforcement/check-commits.sh master..HEAD: PASS (9 commits, linear, valid subject/body formatting, clean splits, no fixup/squash/review commits).doc/project/enforcement/check-source-seals.sh --base master: PASS (all touched files unsealed).doc/project/enforcement/check-architecture.sh src/inet/linklayer/ieee80211: PASS.doc/project/enforcement/check-architecture.sh src/inet/physicallayer/wireless/ieee80211: PASS.doc/project/enforcement/check-naming.sh --base master: PASS for changed files (0 naming candidates in changed files; pre-existing violations match base).doc/project/enforcement/check-interfaces.sh: PASS (0 new interface violations; 15 pre-existing violations match base).Ieee80211BeaconWire_1.test: PASSIeee80211HtMgmtElements_1.test: PASSIeee80211MgmtFrameSerializer_1.test: PASSIeee80211MgmtStaDiscovery_1.test: PASSIeee80211MpduSubframeHeaderSerializer_1.test: PASSIeee80211OnWireBitCompliance_1.test: PASSIeee80211QosDuplicateRemoval_1.test: PASSIeee80211RadioWireIdentity_1.test: PASSIeee80211BeaconSchedule_1.test: PASSIeee80211MgmtApChannelChange_1.test: PASSIeee80211MgmtApUnavailableChannel_1.test: PASS