Ieee80211MgmtSta

Package: inet.linklayer.ieee80211.mgmt

Ieee80211MgmtSta

simple module

Used in 802.11 infrastructure mode: handles management frames for a station (STA).

This module accepts commands such as Scan, Authenticate, Deauthenticate, Associate, Reassociate, Deassociate from a connected agent module, and carries out the requested action by sending/receiving management frames, switching channels, etc.

It implementes both active and passive scanning (where active means sending Probe frames). The authentication process is simulated by exchanging dummy messages, i.e. there is no actual cryptography or not its detailed simulation involved.

Relies on the MAC layer (Ieee80211Mac) for reception and transmission of frames.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Parameters

Name Type Default value Description
interfaceTableModule string

The path to the InterfaceTable module

numChannels int 1

number of channels to scan

mibModule string
macModule string

The path to the MAC module

Properties

Name Value Description
display i=block/cogwheel

Gates

Name Direction Size Description
macIn input
macOut output
agentIn input

used for attaching an agent algorithm

agentOut output

used for attaching an agent algorithm

Signals

Name Type Unit
l2Associated inet::NetworkInterface
l2BeaconLost inet::NetworkInterface

Scheduled messages (observed)

msgkindctrltagsmsgnamecontext
omnetpp::cMessage3sendProbe
omnetpp::cMessage4minChannelTime
omnetpp::cMessage5maxChannelTime
omnetpp::cMessage6beaconTimeout

Direct method calls (observed)

call tofunctioninfo
DhcpClientinet::DhcpClient::receiveSignall2Associated
Ieee80211AgentStainet::ieee80211::Ieee80211AgentSta::receiveSignall2BeaconLost

Called methods (observed)

functioninfocall from
inet::ieee80211::Ieee80211MgmtSta::receiveSignalreceptionStateChangedIeee80211ScalarRadio

Incoming messages (observed)

gatemsgkindctrlsrcModuletags
agentInomnetpp::cMessage0Ieee80211Prim_AssociateRequestIeee80211AgentSta
agentInomnetpp::cMessage0Ieee80211Prim_AuthenticateRequestIeee80211AgentSta
agentInomnetpp::cMessage0Ieee80211Prim_ScanRequestIeee80211AgentSta
macInPacket0Ieee80211MacErrorRateInd, InterfaceInd, MacAddressInd, PacketProtocolTag, SignalPowerInd, SignalTimeInd, SnirInd, Ieee80211ChannelInd, Ieee80211ModeInd

Outgoing messages (observed)

gatemsgkindctrldestModuletags
agentOutomnetpp::cMessage0Ieee80211Prim_AssociateConfirmIeee80211AgentSta
agentOutomnetpp::cMessage0Ieee80211Prim_AuthenticateConfirmIeee80211AgentSta
agentOutomnetpp::cMessage0Ieee80211Prim_ScanConfirmIeee80211AgentSta
macOutPacket0Ieee80211MacIeee80211SubtypeReq, MacAddressReq, PacketProtocolTag
macOutRequest1Ieee80211ConfigureRadioCommandIeee80211Mac

Packet operations (observed)

chunkTypepacketAction
Ieee80211AssociationRequestFrameinsertAtBack
Ieee80211AssociationResponseFramepeekData
Ieee80211AuthenticationFrameinsertAtBack, peekData
Ieee80211BeaconFramepeekData
Ieee80211DataOrMgmtHeaderpeekAt
Ieee80211ProbeRequestFrameinsertAtBack
Ieee80211ProbeResponseFramepeekData

Shared Tagging operations (observed)

tagTypetagAction
Ieee80211SubtypeReqaddTag
MacAddressReqaddTag
PacketProtocolTagaddTagIfAbsent
SignalPowerIndgetTag

Source code

//
// Used in 802.11 infrastructure mode: handles management frames for a station (STA).
//
// This module accepts commands such as Scan, Authenticate, Deauthenticate,
// Associate, Reassociate, Deassociate from a connected agent module, and carries
// out the requested action by sending/receiving management frames, switching
// channels, etc.
//
// It implementes both active and passive scanning (where active means sending
// Probe frames). The authentication process is simulated by exchanging dummy
// messages, i.e. there is no actual cryptography or not its detailed simulation
// involved.
//
// Relies on the MAC layer (~Ieee80211Mac) for reception and transmission of frames.
//
simple Ieee80211MgmtSta like IIeee80211Mgmt
{
    parameters:
        string interfaceTableModule;   // The path to the InterfaceTable module
        int numChannels = default(1);  // number of channels to scan
        string mibModule;
        string macModule;               // The path to the MAC module
        @display("i=block/cogwheel");
        @signal[l2Associated](type=inet::NetworkInterface);
        @signal[l2BeaconLost](type=inet::NetworkInterface);
    gates:
        input macIn @labels(Ieee80211MacHeader);
        output macOut @labels(Ieee80211MacHeader);
        input agentIn;   // used for attaching an agent algorithm
        output agentOut; // used for attaching an agent algorithm
}

File: src/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtSta.ned