802.11 data frame with the 8-byte SNAP header (AA AA 03, 00 00 00, <2-byte EtherType>)
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Description |
---|---|---|
Ieee80211DataFrame | packet |
Format of the 802.11 data frame |
Name | Type | Description |
---|---|---|
byteLength | ||
etherType | int | |
type | short |
type and subtype |
address4 | MACAddress |
optional field, exists when toDS and fromDS are true |
qos | uint16 |
TODO nobody uses this currently, only its parts like tid below... |
ackPolicy | int |
FIXME in real life this is part of the optional qos field above... |
tid | uint8 |
FIXME in real life this is part of the optional qos field above... |
aMsduPresent | bool |
8.2.4.5.9 A-MSDU Present subfield FIXME in real life this is part of the optional qos field above... |
address3 | MACAddress | |
fragmentNumber | short | |
sequenceNumber | uint16 | |
transmitterAddress | MACAddress |
aka address2 |
toDS | bool | |
fromDS | bool | |
retry | bool | |
moreFragments | bool | |
duration | simtime_t |
TODO: rename to durationField (levy) |
AID | short |
"id" (Association ID) in the Duration/ID field (-1=no ID) |
receiverAddress | MACAddress |
aka address1 |
MACArrive | simtime_t |
FIXME remove it, technical data, used inside of MAC module |
// // 802.11 data frame with the 8-byte SNAP header (AA AA 03, 00 00 00, <2-byte ~EtherType>) // packet Ieee80211DataFrameWithSNAP extends Ieee80211DataFrame { byteLength = DATAFRAME_HEADER_MINLENGTH / 8 + SNAP_HEADER_BYTES; // TODO: LLC(SNAP) headers should be in a separate packet int etherType @enum(EtherType); }