Ieee80211AgentSta¶
Package: inet.linklayer.ieee80211.mgmt
simple module Ieee80211AgentSta
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).
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
Provides an IEEE 802.11 network interface suitable for emulation. The upper part of the network interface is realized in the real world using a real TAP device of the host computer which is running the simulation. |
|
compound module |
Implements an IEEE 802.11 network interface. It implements a large subset of the IEEE 802.11 standard, and may use radio models and wireless signal representations of varying levels of detail. It is also extremely configurable, and its component structure makes it easy to experiment with various details of the protocol. |
Extends¶
Name |
Type |
Description |
|---|---|---|
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 |
|---|---|---|---|
acceptConfirm |
long |
ENUM! Ieee80211PrimConfirmCode |
|
dropConfirm |
long |
ENUM! Ieee80211PrimConfirmCode |
|
l2AssociatedNewAp |
|||
l2AssociatedOldAp |
|||
l2Disassociated |
|||
sentRequest |
long |
ENUM! Ieee80211PrimRequestCode |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
acceptConfirm |
accepted confirms |
count,vector |
ENUM! Ieee80211PrimConfirmCode |
|||
dropConfirm |
dropped confirms |
count,vector |
ENUM! Ieee80211PrimConfirmCode |
|||
sentRequest |
sent requests |
count,vector |
ENUM! Ieee80211PrimRequestCode |
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