Ieee80211MgmtAPSimplified

Package: inet.linklayer.ieee80211.mgmt

Ieee80211MgmtAPSimplified

simple module

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.

This management module variant does not implement beacons, probes, authentication and association -- it simply treats all stations as associated all the time. This also means that you cannot use this module in a simulation that involves handovers; for that you need to use the full version, Ieee80211MgmtAP.

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 a copy of the frame there and at the same time sends the frame back to the wireless interface. The relay unit will send it out on the interface which is towards the destination or will broadcast it on all interfaces (except on which it was received).

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
encapDecap string "eth"

if "eth", frames sent up are converted to EthernetIIFrame

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

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.
//
// This management module variant does not implement beacons, probes,
// authentication and association -- it simply treats all stations
// as associated all the time. This also means that you cannot use this
// module in a simulation that involves handovers; for that you need
// to use the full version, ~Ieee80211MgmtAP.
//
// 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 a copy of the frame there and at the same time
// sends the frame back to the wireless interface. The relay unit will send it out
// on the interface which is towards the destination or will broadcast it on all
// interfaces (except on which it was received).
//
// @author Andras Varga
//
simple Ieee80211MgmtAPSimplified like IIeee80211Mgmt
{
    parameters:
        string encapDecap @enum("true","false","eth") = default("eth");   // if "eth", frames sent up are converted to EthernetIIFrame
        string macModule;               // The path to the MAC module
        @display("i=block/cogwheel");
    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/Ieee80211MgmtAPSimplified.ned