Ieee80211DataHeader

Namespace: inet

class Ieee80211DataHeader

Format of the 802.11 data frame

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

Ieee80211DataOrMgmtHeader

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

b

rawBin

string[]

rawHex

string[]

regionTags

SharingRegionTagSet::TagBaseRegionTag[]

chunkLength

type

Ieee80211FrameType

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

MacAddress

aka address1 (RA)

MACArrive

simtime_t

FIXME remove it, technical data, used inside of MAC module

chunkLength

transmitterAddress

MacAddress

aka address2 (TA)

chunkLength

address3

MacAddress

fragmentNumber

short

sequenceNumber

SequenceNumberCyclic

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

MacAddress

optional field, exists when toDS and fromDS are true

ackPolicy

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
}

File: src/inet/linklayer/ieee80211/mac/Ieee80211Frame.msg