Package: inet.linklayer.xmac
XMacInterface
compound moduleThis module implements a wireless network interface using the X-MAC protocol.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
Name | Type | Description |
---|---|---|
WirelessInterface | compound module |
This module implements a generic wireless network interface. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "%a (%i)\n%m" | |
recordPcap | bool | false | |
numPcapRecorders | int | recordPcap ? 1 : 0 | |
interfaceTableModule | string | ||
energySourceModule | string | ||
protocol | string | "" |
Properties
Name | Value | Description |
---|---|---|
networkInterface | ||
lifecycleSupport | ||
class | NetworkInterface | |
display | i=block/ifcard |
Gates
Name | Direction | Size | Description |
---|---|---|---|
upperLayerIn | input | ||
upperLayerOut | output | ||
radioIn | input |
Signals
Name | Type | Unit |
---|---|---|
packetDropped | inet::Packet |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
packetDropInterfaceDown | packet drops: interface down | packetDropReasonIsInterfaceDown(packetDropped) | count, sum(packetBytes), vector(packetBytes) | none | |
packetDropNoCarrier | packet drops: no carrier | packetDropReasonIsNoCarrier(packetDropped) | count, sum(packetBytes), vector(packetBytes) | none |
Direct method calls (observed)
call to | function | info |
---|---|---|
MessageDispatcher | inet::MessageDispatcher::handleRegisterInterface | handleRegisterInterface |
InterfaceTable | inet::InterfaceTable::findInterfaceByName | findInterfaceByName |
InterfaceTable | inet::InterfaceTable::interfaceChanged | interfaceChanged |
Called methods (observed)
function | info | call from |
---|---|---|
inet::NetworkInterface::receiveSignal | POST_MODEL_CHANGE | -=Network=-, OmittedIeee8021dQosClassifier |
Tagging operations (observed)
tagType | tagAction |
---|---|
clearTags |
Unassigned submodule parameters
Name | Type | Default value | Description |
---|---|---|---|
pcapRecorder.verbose | bool | true |
whether to log packets on the module output |
pcapRecorder.pcapFile | string | "" |
the PCAP file to be written |
pcapRecorder.fileFormat | string | "pcapng" | |
pcapRecorder.snaplen | int | 65535 |
maximum number of bytes to record per packet |
pcapRecorder.dumpBadFrames | bool | true |
enable dump of frames with hasBitError |
pcapRecorder.sendingSignalNames | string | "packetSentToLower" |
space-separated list of outbound packet signals to subscribe to |
pcapRecorder.receivingSignalNames | string | "packetReceivedFromLower" |
space-separated list of inbound packet signals to subscribe to |
pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
space-separated list of protocol names as defined in the Protocol class |
pcapRecorder.packetFilter | object | "*" |
which packets are considered, matches all packets by default |
pcapRecorder.helpers | string | "" |
usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
pcapRecorder.alwaysFlush | bool | false |
flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Source code
// // This module implements a wireless network interface using the X-MAC protocol. // module XMacInterface extends WirelessInterface { parameters: radio.typename = default("ApskScalarRadio"); mac.typename = "XMac"; queue.typename = default("DropTailQueue"); queue.packetCapacity = default(20); }File: src/inet/linklayer/xmac/XMacInterface.ned