Add 802.11 Radio Measurement action support#5039
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 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
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds initial 802.11 Radio Measurement (Action category 5) dissection support to Scapy, focusing on Radio Measurement Request/Report actions and specializing Beacon measurement (type 5) while preserving raw bytes for unsupported measurement types.
Changes:
- Introduces
Dot11RadioMeasurementaction layer plus Request/Report body layers, with Beacon request/report specializations. - Adds layer bindings for Action category
0x05and actions0(request) /1(report). - Extends
dot11.utswith dissection + raw round-trip tests for Beacon request/report and unsupported request fallback.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
scapy/layers/dot11.py |
Adds Radio Measurement action/request/report packets, Beacon specializations, and layer bindings. |
test/scapy/layers/dot11.uts |
Adds regression tests covering Beacon request/report dissection and raw fallback behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4c15d24 to
9d6828a
Compare
|
Thanks for the PR, please add the AI-Assisted Trailer to your commits. |
Hi ! Is it required to trigger validity checking of commits? Because my first push had no AI-assisted line, I had rebased and pushed with AI-assisted line in commit message. Thanks |
|
Hm, looks funky. Could you try rebasing against master? Thanks ! |
I don't get it. without merging? |
|
Yeah. Like |
AI-Assisted: yes (Codex)
Return bytes from Beacon request/report extract_padding(). Keep non-decoded report bodies in measurement_report_data, including refused Beacon reports. Use field names consistent with existing dot11 layers and add regression tests for unsupported/refused report fallback. AI-Assisted: yes (Codex)
9d6828a to
3e44262
Compare
AI-Assisted check seems OK with this. Thanks ! |
Dot11 Radio Measurement Action
Scope:
Dot11RadioMeasurementfor Action category5.0and
1.5.measurement_request_data/measurement_report_data.Beacon report, and unsupported measurement request fallback.
Spec references used in code comments:
9.6.6.1: Radio Measurement Action field values.9.6.6.2: Radio Measurement Request frame.9.6.6.3: Radio Measurement Report frame.9.4.2.20: Measurement Request element.9.4.2.20.7: Beacon request.9.4.2.21: Measurement Report element.9.4.2.21.7: Beacon report.Intentional partial support:
5is specialized in this PR.with the wrong field layout.
Test command used:
Result:
AI-Assisted: yes (Codex)