Simple Module Mac80211

Package: inet.linklayer.mf80211.macLayer
File: src/linklayer/mf80211/macLayer/Mac80211.ned

C++ definition

Implementation of the 802.11b MAC protocol. This module is intended to be used in combination with the SnrEval80211 and Decider80211 modules as physical layer.

This module supports ad-hoc mode only (does not generate or handle management frames), and does not support fragmentation, RTS threshold, duplication detection and recovery.

This component has been taken over from Mobility Framework 1.0a5.

Mac80211

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Used in compound modules:

Name Type Description
Nic80211 compound module

This NIC implements an 802.11 network interface card.

Parameters:

Name Type Default value Description
address string "auto"

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

maxQueueSize int
rtsCts bool false
bitrate double
broadcastBackoff int
mtu int 1500

Properties:

Name Value Description
display i=block/layer

Gates:

Name Direction Size Description
uppergateIn input
uppergateOut output
lowergateIn input
lowergateOut output

Source code:

//
// Implementation of the 802.11b MAC protocol. This module is intended
// to be used in combination with the SnrEval80211 and Decider80211
// modules as physical layer.
//
// This module supports ad-hoc mode only (does not generate or handle
// management frames), and does not support fragmentation, RTS threshold,
// duplication detection and recovery.
//
// This component has been taken over from Mobility Framework 1.0a5.
//
simple Mac80211
{
    parameters:
        string address = default("auto");       // MAC address as hex string (12 hex digits), or
                                // "auto". "auto" values will be replaced by
                                // a generated MAC address in init stage 0.
        int maxQueueSize;
        bool rtsCts = default(false);
        double bitrate @unit("bps");
        int broadcastBackoff;
        int mtu = default(1500);
        @display("i=block/layer");
    gates:
        input uppergateIn @labels(Ieee802Ctrl);
        output uppergateOut;
        input lowergateIn @labels(Mac80211Pkt);
        output lowergateOut @labels(Mac80211Pkt);
}