Draft: wifi: Add MeasurementReportElement (IE 39) and RadioMeasurement action frame headers (Actions 0-1)
Part of #1311 (IEEE 802.11k/v support). Depends on !2788 (foundational IEs) and !2790 (MeasurementRequestElement, IE 38).
Summary
Three new types that complete the Radio Measurement exchange: the report-side IE and the two action frame headers that carry measurement request/report elements.
MeasurementReportElement (IE 39, Section 9.4.2.20)
The report counterpart to MeasurementRequestElement (IE 38, in !2790). Fixed 3-byte header (Measurement Token, Report Mode bitmap, Type) plus a variable body. Report Mode has Late/Incapable/Refused flags. Currently supports BeaconReport body (Section 9.4.2.20.7) with all fixed fields: Operating Class, Channel Number, Actual Measurement Start Time, Measurement Duration, Reported Frame Information (bit-field), RCPI, RSNI, BSSID, Antenna ID, Parent TSF.
RadioMeasurementRequestHeader (Action 0, Section 9.6.6.2)
Action frame body for Radio Measurement Request. Fields: Dialog Token (1 octet), Number of Repetitions (2 octets), zero or more MeasurementRequestElement instances.
RadioMeasurementReportHeader (Action 1, Section 9.6.6.3)
Action frame body for Radio Measurement Report. Fields: Dialog Token (1 octet), zero or more MeasurementReportElement instances.
Files
src/wifi/model/measurement-report-element.{h,cc}src/wifi/model/radio-measurement-request.{h,cc}src/wifi/model/radio-measurement-report.{h,cc}-
src/wifi/test/wifi-rrm-info-elems-test.cc(adds 1 test case) -
src/wifi/test/wifi-rrm-action-frames-test.cc(new test suite, 2 test cases) src/wifi/CMakeLists.txt
Tests
./ns3 run "test-runner --suite=wifi-rrm-info-elems"
./ns3 run "test-runner --suite=wifi-rrm-action-frames"
Dependencies
Merge !2788 and !2790 first. RadioMeasurementRequestHeader uses MeasurementRequestElement (IE 38) from !2790. RadioMeasurementReportHeader uses MeasurementReportElement (IE 39) introduced here. Both IEs depend on foundational types from !2788.