Ieee80211AgentSta

Package: inet.linklayer.ieee80211.mgmt

Ieee80211AgentSta

simple module

Used in 802.11 infrastructure mode: in a station (STA), this module controls channel scanning, association and handovers, by sending commands (e.g. Ieee80211Prim_ScanRequest) to the management module (Ieee80211MgmtSta).

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

mibModule string
activeScan bool true

selects between active and passive scanning

channelsToScan string ""

list of channel numbers to scan (space delimited); empty means all channels

probeDelay double 100ms

delay before sending a probe request during active scanning

minChannelTime double 150ms

min interval to spend on a channel during active scanning

maxChannelTime double 300ms

channel time for passive scanning, and max channel time for active scanning

authenticationTimeout double 5s

timeout for the authentication procedure

associationTimeout double 5s

timeout for the association procedure

startingTime double -1s

agent starting time.

defaultSsid string "SSID"

default ssid

Properties

Name Value Description
display i=block/control

Gates

Name Direction Size Description
mgmtIn input
mgmtOut output

Signals

Name Type Unit
dropConfirm long
l2Disassociated inet::NetworkInterface
l2AssociatedOldAp inet::NetworkInterface
sentRequest long
acceptConfirm long
l2AssociatedNewAp inet::NetworkInterface

Statistics

Name Title Source Record Unit Interpolation Mode
dropConfirm dropped confirms count, vector
sentRequest sent requests count, vector
acceptConfirm accepted confirms count, vector

Scheduled messages (observed)

msgkindctrltagsmsgnamecontext
omnetpp::cMessage1startUp

Called methods (observed)

functioninfocall from
inet::ieee80211::Ieee80211AgentSta::receiveSignall2BeaconLostIeee80211MgmtSta

Incoming messages (observed)

gatemsgkindctrlsrcModuletags
mgmtInomnetpp::cMessage0Ieee80211Prim_AssociateConfirmIeee80211MgmtSta
mgmtInomnetpp::cMessage0Ieee80211Prim_AuthenticateConfirmIeee80211MgmtSta
mgmtInomnetpp::cMessage0Ieee80211Prim_ScanConfirmIeee80211MgmtSta

Outgoing messages (observed)

gatemsgkindctrldestModuletags
mgmtOutomnetpp::cMessage0Ieee80211Prim_AssociateRequestIeee80211MgmtSta
mgmtOutomnetpp::cMessage0Ieee80211Prim_AuthenticateRequestIeee80211MgmtSta
mgmtOutomnetpp::cMessage0Ieee80211Prim_ScanRequestIeee80211MgmtSta

Source code

//
// Used in 802.11 infrastructure mode: in a station (STA), this module
// controls channel scanning, association and handovers, by sending commands
// (e.g. ~Ieee80211Prim_ScanRequest) to the management module (~Ieee80211MgmtSta).
//
simple Ieee80211AgentSta like IIeee80211Agent
{
    parameters:
        string interfaceTableModule;   // The path to the InterfaceTable module
        string mibModule;
        bool activeScan = default(true);  // selects between active and passive scanning
        string channelsToScan = default("");  // list of channel numbers to scan (space delimited); empty means all channels
        double probeDelay @unit(s) = default(100ms); // delay before sending a probe request during active scanning
        double minChannelTime @unit(s) = default(150ms); // min interval to spend on a channel during active scanning
        double maxChannelTime @unit(s) = default(300ms); // channel time for passive scanning, and max channel time for active scanning
        double authenticationTimeout @unit(s) = default(5s); // timeout for the authentication procedure
        double associationTimeout @unit(s) = default(5s); // timeout for the association procedure
        double startingTime @unit(s) = default(-1s); // agent starting time.
        string defaultSsid = default("SSID"); // default ssid
        @display("i=block/control");
        @signal[sentRequest](type=long); // ENUM! ~Ieee80211PrimRequestCode
        @signal[acceptConfirm](type=long); // ENUM! ~Ieee80211PrimConfirmCode
        @signal[dropConfirm](type=long); // ENUM! ~Ieee80211PrimConfirmCode
        @signal[l2AssociatedNewAp](type=inet::NetworkInterface);
        @signal[l2AssociatedOldAp](type=inet::NetworkInterface);
        @signal[l2Disassociated](type=inet::NetworkInterface);
        @statistic[sentRequest](title="sent requests"; record=count,vector); // ENUM! ~Ieee80211PrimRequestCode
        @statistic[acceptConfirm](title="accepted confirms"; record=count,vector); // ENUM! ~Ieee80211PrimConfirmCode
        @statistic[dropConfirm](title="dropped confirms"; record=count,vector); // ENUM! ~Ieee80211PrimConfirmCode
    gates:
        input mgmtIn;
        output mgmtOut;
}

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