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.

Discussion/Vendor-Extensions (last edited 2008-09-21 15:58:57 by JohannesBerg)