Ieee80211MacHeader

Ieee80211MacHeader

class

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

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the 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
chunkLength b
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

mutable bool
complete bool
correct bool
properlyRepresented bool
rawBin string[]
rawHex string[]
tags RegionTagSet::cObjectRegionTag[]

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