Radiotap vendor namespaces
This proposal from David Young introduces vendor namespaces into radiotap.
New fields
Vendor Namespace
- Bit Number
not applicable, bit 30 in every it_present word
- Structure
- u8 OUI[3], u8 sub_namespace, u8 skip_length
- Required Alignment
- 1
This field is reserved in all namespaces, the standard radiotap namespace as well as all vendor namespaces.
The Vendor Namespace Field contains three sub-fields. The first sub-field is 3 bytes long. It contains the vendor's IEEE 802 Organizationally Unique Identifier (OUI). The fourth byte is a vendor-specific "namespace selector."
Before it resumes interpretation of presence bits in the following 32-bit presence words, if any, the interpreter shall reset its presence-bitmap index to 0, and change to the vendor namespace specified by the OUI and selector.
The fifth byte, skip_length, tells the interpreter how many bytes of data after the end of the Vendor Namespace Field can only be interpreted according to the vendor namespace. If a radiotap header changes to a namespace that the interpreter does not understand, and back, the interpreter may resume interpretation in the new namespace by skipping skip_length data bytes after the end of the Vendor Namespace Field.
Reset to Radiotap Namespace
- Bit Number
not applicable, bit 29 in every it_present word
- Structure
- no contents
- Required Alignment
- N/A
This field is reversed in all namespaces, the standard radiotap namespace as well as all vendor namespaces.
Upon interpreting this field, the interpreter shall reset its presence-bitmap index to 0 and its namespace to the default radiotap namespace, and change to the default radiotap namespace, before it interprets subsequent presence-bitmap words.
Parser considerations
As before, parsers will have to first walk the it_present bitmap chain to determine how long the whole presence map is and where data starts. However, when they parse then, they must take care of the current namespace that may change during parsing of the it_present bitmap.