Package: inet.linklayer.ieee80211.mgmt
Ieee80211MgmtAP
simple moduleUsed in 802.11 infrastructure mode: handles management frames for an access point (AP). It relies on a connected Ieee80211Mac for actual reception and transmission of frames.
When simulating an AP that has other (Ethernet or wireless) interfaces as well, this module can be connected to a IMACRelayUnit which performs bridging of Ethernet frames. This module will perform conversion from/to EtherFrame for IMACRelayUnit.
This module never switches channels, that is, it will operate on the channel the physical layer is configured for (see channelNumber in Ieee80211Radio).
This module checks if there is an other module connected above the management module (e.g. RelayUnit) and sends the frame there if the frame's destination is not on the associated station's list. Multicast frames are broadcasted on the wireless card and a copy sent also up to the relay unit so it can broadcast it on other interfaces.
Author: Andras Varga
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
ssid | string | "SSID" | |
beaconInterval | double | 100ms | |
numAuthSteps | int | 4 |
use 2 for Open System auth, 4 for WEP |
encapDecap | string | "eth" |
if "eth", frames sent up are converted to EthernetIIFrame |
radioModule | string | "^.radio" |
dataRate: numeric; XXX TBD |
macModule | string |
The path to the MAC module |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel |
Gates
Name | Direction | Size | Description |
---|---|---|---|
upperLayerIn | input |
from IMACRelayUnit; can be left unconnected |
|
upperLayerOut | output |
to IMACRelayUnit; can be left unconnected |
|
macIn | input |
from Ieee80211Mac |
|
macOut | output |
to Ieee80211Mac |
|
agentIn | input |
unused dummy to statisfy the IIeee80211Mgmt interface |
|
agentOut | output |
unused dummy to statisfy the IIeee80211Mgmt interface |
Signals
Name | Type | Unit |
---|---|---|
NF_L2_AP_ASSOCIATED | inet::ieee80211::Ieee80211MgmtAP::NotificationInfoSta | |
NF_L2_AP_DISASSOCIATED | inet::ieee80211::Ieee80211MgmtAP::NotificationInfoSta |
Source code
// // Used in 802.11 infrastructure mode: handles management frames for // an access point (AP). It relies on a connected ~Ieee80211Mac for actual // reception and transmission of frames. // // When simulating an AP that has other (Ethernet or wireless) interfaces // as well, this module can be connected to a ~IMACRelayUnit which performs // bridging of Ethernet frames. This module will perform conversion from/to // ~EtherFrame for ~IMACRelayUnit. // // This module never switches channels, that is, it will operate on the channel // the physical layer is configured for (see channelNumber in ~Ieee80211Radio). // // This module checks if there is an other module connected above the management // module (e.g. RelayUnit) and sends the frame there if the frame's destination // is not on the associated station's list. Multicast frames are broadcasted on // the wireless card and a copy sent also up to the relay unit so it can broadcast // it on other interfaces. // // @author Andras Varga // simple Ieee80211MgmtAP like IIeee80211Mgmt { parameters: string ssid = default("SSID"); double beaconInterval @unit("s") = default(100ms); int numAuthSteps = default(4); // use 2 for Open System auth, 4 for WEP string encapDecap @enum("true","false","eth") = default("eth"); // if "eth", frames sent up are converted to EthernetIIFrame //dataRate: numeric; XXX TBD string radioModule = default("^.radio"); // The path to the Radio module //FIXME remove default value string macModule; // The path to the MAC module @display("i=block/cogwheel"); @signal[NF_L2_AP_ASSOCIATED](type="inet::ieee80211::Ieee80211MgmtAP::NotificationInfoSta"); @signal[NF_L2_AP_DISASSOCIATED](type="inet::ieee80211::Ieee80211MgmtAP::NotificationInfoSta"); gates: input upperLayerIn; // from ~IMACRelayUnit; can be left unconnected output upperLayerOut; // to ~IMACRelayUnit; can be left unconnected input macIn @labels(Ieee80211Frame); // from ~Ieee80211Mac output macOut @labels(Ieee80211Frame); // to ~Ieee80211Mac input agentIn @loose; // unused dummy to statisfy the IIeee80211Mgmt interface output agentOut @loose; // unused dummy to statisfy the IIeee80211Mgmt interface }File: src/inet/linklayer/ieee80211/mgmt/Ieee80211MgmtAP.ned