File: contrib/nic/Nic80211.ned
This NIC implements an 802.11 network interface card.
See also: Mac80211, Decider80211, SnrEval80211
Author: Marc Loebbers
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.
If a module type shows up more than once, that means it has been defined in more than one NED file.
Decider80211 | Decider module of the 802.11 modules |
Mac80211 | 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. |
SingleChannelRadio | (no description) |
SnrEval80211 | (no description) |
If a module type shows up more than once, that means it has been defined in more than one NED file.
Host | (no description) |
Name | Direction | Description |
---|---|---|
uppergateIn | input | to upper layers |
uppergateOut | output | from upper layers |
upperControlOut | output | control information |
radioIn | input | radioIn gate for sendDirect |
Name | Type | Description |
---|---|---|
mac.debug | bool | debug switch |
mac.queueLength | numeric const | |
mac.rtsCtsThreshold | numeric const | |
mac.bitrate | numeric const | |
mac.defaultChannel | numeric const | minimum channel support |
mac.autoBitrate | bool | auto bit rate selection support: specify borders at which to change modulation. |
mac.snr2Mbit | numeric const | threshold to use 2Mbit (in dB) |
mac.snr5Mbit | numeric const | threshold to use 5.5Mbit (in dB) |
mac.snr11Mbit | numeric const | threshold to use 11Mbit (in dB) |
mac.neighborhoodCacheSize | numeric const | keep information on neighborhood |
mac.neighborhoodCacheMaxAge | numeric const | consider information in cache outdate if older than |
decider.debug | bool | debug switch |
decider.snirThreshold | numeric const | |
snrEval.debug | bool | debug switch |
snrEval.headerLength | numeric const | ignored |
snrEval.transmitterPower | numeric const | |
snrEval.carrierFrequency | numeric const | |
snrEval.thermalNoise | numeric const | |
snrEval.pathLossAlpha | numeric const | |
snrEval.publishRSSIAlways | bool | |
snrEval.sensitivity | numeric const | |
radio.debug | bool | |
radio.swSleep | numeric const | time parameters, how long does it take to switch to sleep mode |
radio.swSend | numeric const | switch to send mode |
radio.swRecv | numeric const | switch to recv mode |
module Nic80211 gates: in: uppergateIn; // to upper layers out: uppergateOut, // from upper layers upperControlOut; // control information in: radioIn; // radioIn gate for sendDirect submodules: mac: Mac80211; display: "p=96,87;i=block/layer"; decider: Decider80211; display: "p=106,157;i=block/process_s"; snrEval: SnrEval80211; display: "p=96,236;i=block/wrxtx"; radio: SingleChannelRadio; // display: "p=200,30;b=30,25"; connections: radioIn --> snrEval.radioIn; snrEval.uppergateIn <-- mac.lowergateOut display "m=m,25,0,25,0"; snrEval.uppergateOut --> decider.lowergateIn display "m=m,73,0,50,50"; snrEval.upperControlOut --> decider.lowerControlIn; decider.uppergateOut --> mac.lowergateIn display "m=m,50,50,75,0"; decider.upperControlOut --> mac.lowerControlIn; mac.uppergateOut --> uppergateOut; mac.upperControlOut --> upperControlOut; mac.uppergateIn <-- uppergateIn; endmodule