Ieee80211DataHeader¶
Namespace: inet
class Ieee80211DataHeader
Format of the 802.11 data frame
Usage diagram¶
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
class |
Common base class for 802.11 data and management frames |
Fields¶
Name |
Type |
Description |
|---|---|---|
id |
int |
|
mutable |
bool |
|
complete |
bool |
|
correct |
bool |
|
properlyRepresented |
bool |
|
chunkLength |
||
rawBin |
string[] |
|
rawHex |
string[] |
|
regionTags |
||
chunkLength |
||
type |
type and subtype |
|
toDS |
bool |
|
fromDS |
bool |
|
moreFragments |
bool |
|
retry |
bool |
|
powerMgmt |
bool |
unused |
moreData |
bool |
unused |
protectedFrame |
bool |
unused |
order |
bool |
unused |
durationField |
simtime_t |
“duration” in the Duration/ID field (-1=no duration) |
AID |
short |
“id” (Association ID) in the Duration/ID field (-1=no ID) |
receiverAddress |
aka address1 (RA) |
|
MACArrive |
simtime_t |
FIXME remove it, technical data, used inside of MAC module |
chunkLength |
||
transmitterAddress |
aka address2 (TA) |
|
chunkLength |
||
address3 |
||
fragmentNumber |
short |
|
sequenceNumber |
||
chunkLength |
The presence of the Address 4 field is determined by the setting of the To DS and From DS subfields of the Frame Control field (see below). The QoS Control field is present when the QoS subfield of the Subtype field is set to 1 (8.3.2.1 Data frame format) FIXME chunkLength is not a constant value DATAFRAME_HEADER_MINLENGTH (24 bytes). For example, with Address 4 and without QoS the correct length is 30 bytes. Without Address 4 and QoS the correct value is indeed 24 bytes. With Address 4 and QoS the correct value is indeed 32 bytes. |
|
type |
or ST_DATA_WITH_QOS |
|
address4 |
optional field, exists when toDS and fromDS are true |
|
ackPolicy |
||
tid |
uint8_t |
optional field, exists when type == ST_DATA_WITH_QOS |
aMsduPresent |
bool |
8.2.4.5.9 A-MSDU Present subfield |
Properties¶
Name |
Value |
Description |
|---|---|---|
beforeChange |
handleChange() |
|
descriptor |
readonly |
|
existingClass |
||
packetData |
Source code¶
//
// Format of the 802.11 data frame
//
class Ieee80211DataHeader extends Ieee80211DataOrMgmtHeader
{
// The presence of the Address 4 field is determined by the setting of the To DS and From DS subfields of
// the Frame Control field (see below). The QoS Control field is present when the QoS subfield of the Subtype
// field is set to 1 (8.3.2.1 Data frame format)
// FIXME chunkLength is not a constant value DATAFRAME_HEADER_MINLENGTH (24 bytes).
// For example, with Address 4 and without QoS the correct length is 30 bytes.
// Without Address 4 and QoS the correct value is indeed 24 bytes.
// With Address 4 and QoS the correct value is indeed 32 bytes.
chunkLength = DATAFRAME_HEADER_MINLENGTH;
type = ST_DATA; // or ST_DATA_WITH_QOS
MacAddress address4; // optional field, exists when toDS and fromDS are true
AckPolicy ackPolicy = NORMAL_ACK;
uint8_t tid; // optional field, exists when type == ST_DATA_WITH_QOS
bool aMsduPresent = false; // 8.2.4.5.9 A-MSDU Present subfield
}