Ieee80211AgentSta

Package: inet.linklayer.ieee80211.mgmt

Ieee80211AgentSta

simple module

C++ definition

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.

Extends

Name Type Description
SimpleModule simple module

Base module for all INET simple modules.

Parameters

Name Type Default value Description
displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

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 ""

List of allowed SSIDs to connect to; leave empty for no filtering

Properties

Name Value Description
class Ieee80211AgentSta
display i=block/control

Gates

Name Direction Size Description
mgmtIn input
mgmtOut output

Signals

Name Type Unit Description
dropConfirm long

ENUM! ~Ieee80211PrimConfirmCode

l2Disassociated inet::NetworkInterface
l2AssociatedOldAp inet::NetworkInterface
sentRequest long

ENUM! ~Ieee80211PrimRequestCode

acceptConfirm long

ENUM! ~Ieee80211PrimConfirmCode

l2AssociatedNewAp inet::NetworkInterface

Statistics

Name Title Source Record Unit Interpolation Mode Description
dropConfirm dropped confirms count, vector

ENUM! ~Ieee80211PrimConfirmCode

sentRequest sent requests count, vector

ENUM! ~Ieee80211PrimRequestCode

acceptConfirm accepted confirms count, vector

ENUM! ~Ieee80211PrimConfirmCode

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 extends SimpleModule like IIeee80211Agent
{
    parameters:
        @class(Ieee80211AgentSta);
        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(""); // List of allowed SSIDs to connect to; leave empty for no filtering
        @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