Skip to content

Add 802.11 Radio Measurement action support#5039

Open
middleendian wants to merge 1 commit into
secdev:masterfrom
middleendian:dot11_radio_measurement
Open

Add 802.11 Radio Measurement action support#5039
middleendian wants to merge 1 commit into
secdev:masterfrom
middleendian:dot11_radio_measurement

Conversation

@middleendian

Copy link
Copy Markdown
Contributor

Dot11 Radio Measurement Action

Scope:

  • Adds Dot11RadioMeasurement for Action category 5.
  • Adds Radio Measurement Request and Report action bodies for actions 0
    and 1.
  • Specializes Beacon measurement request/report fields for Measurement Type
    5.
  • Leaves unsupported measurement types as raw
    measurement_request_data / measurement_report_data.
  • Adds focused dissection and raw round-trip tests for Beacon request,
    Beacon report, and unsupported measurement request fallback.

Spec references used in code comments:

  • IEEE Std 802.11-2020, 9.6.6.1: Radio Measurement Action field values.
  • IEEE Std 802.11-2020, 9.6.6.2: Radio Measurement Request frame.
  • IEEE Std 802.11-2020, 9.6.6.3: Radio Measurement Report frame.
  • IEEE Std 802.11-2020, 9.4.2.20: Measurement Request element.
  • IEEE Std 802.11-2020, 9.4.2.20.7: Beacon request.
  • IEEE Std 802.11-2020, 9.4.2.21: Measurement Report element.
  • IEEE Std 802.11-2020, 9.4.2.21.7: Beacon report.

Intentional partial support:

  • Only Beacon measurement type 5 is specialized in this PR.
  • Other measurement types are retained as raw bytes instead of being parsed
    with the wrong field layout.
  • The frame bodies parse one Measurement Request/Report element.

Test command used:

test/run_tests -t test/scapy/layers/dot11.uts -F

Result:

PASSED=68 FAILED=0

AI-Assisted: yes (Codex)

@codecov

codecov Bot commented Jul 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.22%. Comparing base (2498fbb) to head (94e7777).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5039      +/-   ##
==========================================
- Coverage   80.22%   80.22%   -0.01%     
==========================================
  Files         387      387              
  Lines       96450    96473      +23     
==========================================
+ Hits        77381    77395      +14     
- Misses      19069    19078       +9     
Files with missing lines Coverage Δ
scapy/layers/dot11.py 92.17% <100.00%> (+0.27%) ⬆️

... and 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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