Ieee80211MacHeader

Namespace: inet

class Ieee80211MacHeader

The common part of 802.11 frames.

NOTE: FCS value is not explicitly modeled, but it is included in the length. Frame control format fields not supported by this model are omitted: MoreFlag, PowerMgmt, MoreData, WEP, Order.

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

FieldsChunk

class

(no description)

Known subclasses

Name

Type

Description

Ieee80211OneAddressHeader

class

Format of a 802.11 frame with address1 present, like ACK and CTS

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

Properties

Name

Value

Description

beforeChange

handleChange()

descriptor

readonly

existingClass

packetData

Source code

//
// The common part of 802.11 frames.
//
// NOTE:
// FCS value is not explicitly modeled, but it is included in the length.
// Frame control format fields not supported by this model are omitted:
// MoreFlag, PowerMgmt, MoreData, WEP, Order.
//
class Ieee80211MacHeader extends FieldsChunk
{
    chunkLength = LENGTH_ACK - B(4);
    Ieee80211FrameType type; // type and subtype
    bool toDS;
    bool fromDS;
    bool moreFragments;
    bool retry;
    bool powerMgmt = false; // unused
    bool moreData = false; // unused
    bool protectedFrame = false; // unused
    bool order = false; // unused
    simtime_t durationField = -1; // "duration" in the Duration/ID field (-1=no duration)
    short AID = -1;          // "id" (Association ID) in the Duration/ID field (-1=no ID)
    MacAddress receiverAddress; // aka address1 (RA)
    simtime_t MACArrive;    // FIXME remove it, technical data, used inside of MAC module
}

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