Simple Module Mac80211

File: contrib/nic/macLayer/Mac80211.ned

C++ definition: click here

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.

Usage diagram:

The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

Nic80211

This NIC implements an 802.11 network interface card.

Parameters:

Name Type Description
debug bool

debug switch

queueLength numeric const
rtsCtsThreshold numeric const
bitrate numeric const
defaultChannel numeric const

minimum channel support

autoBitrate bool

auto bit rate selection support: specify borders at which to change modulation.

snr2Mbit numeric const

threshold to use 2Mbit (in dB)

snr5Mbit numeric const

threshold to use 5.5Mbit (in dB)

snr11Mbit numeric const

threshold to use 11Mbit (in dB)

neighborhoodCacheSize numeric const

keep information on neighborhood

neighborhoodCacheMaxAge numeric const

consider information in cache outdate if older than

Gates:

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

for control messages to upper layer

lowerControlIn input

for control messages from phy layer

Source code:

simple Mac80211
    parameters:
        debug: bool, // debug switch
        queueLength: numeric const,
        rtsCtsThreshold: numeric const,

        bitrate: numeric const,
	defaultChannel: numeric const, // minimum channel support

	// auto bit rate selection support: specify borders at which
        // to change modulation.	
	autoBitrate: bool,         // use auto bit rate adaptation
	snr2Mbit:  numeric const,  // threshold to use 2Mbit (in dB)
	snr5Mbit:  numeric const,  // threshold to use 5.5Mbit (in dB)
	snr11Mbit: numeric const,  // threshold to use 11Mbit (in dB)

	// keep information on neighborhood
	neighborhoodCacheSize: numeric const,	
	// consider information in cache outdate if older than 
	neighborhoodCacheMaxAge: numeric const; 
	
    gates:
        in: uppergateIn;
        out: uppergateOut;
        in: lowergateIn;
        out: lowergateOut;
	out: upperControlOut; // for control messages to upper layer
	in: lowerControlIn;   // for control messages from phy layer
endsimple