Modules

Name

Type

Description

AarfRateControl

simple module

Implements the Adaptive ARF (AARF) rate control mechanism, which was initially described in IEEE 802.11 Rate Adaptation: A Practical Approach, by M. Lacage, M.H. Manshaei, and T. Turletti, 2004.

AccessPoint

compound module

A wireless access point device that connects wireless stations (like WirelessHost) to a wired network. Supports multiple wireless radios and multiple Ethernet ports.

AckHandler

simple module

Manages acknowledgment (ACK) status tracking for transmitted frames in IEEE 802.11 networks. Maintains a record of frame transmission states, processes received ACK frames, and determines when frames need retransmission.

AckingMac

compound module

Implements a trivial MAC protocol for use in AckingWirelessInterface.

AckingWirelessInterface

compound module

Implements a highly abstracted wireless network interface (NIC) that uses a trivial MAC protocol. It offers simplicity for scenarios where Layer 1 and 2 effects can be completely ignored, for example testing the basic functionality of a wireless ad-hoc routing protocol.

ActivePacketSink

simple module

An active packet sink which pulls packets from the connected module. It pulls whole packets through the in gate at every collection interval. It pulls the first packet after the initial collection offset.

ActivePacketSinkBase

simple module

Base module for various active packet sink modules.

ActivePacketSource

simple module

An active packet source which pushes packets into the connected module. It pushes whole packets through the out gate at every production interval. It pushes the first packet after the initial production offset.

ActivePacketSourceBase

simple module

Base module for various active packet source modules.

AdaptiveProbabilisticBroadcast

simple module

Multi-hop ad-hoc data dissemination protocol based on probabilistic broadcast, with adaptive parameters.

AdditiveScrambler

compound module

The Scrambler module converts an input string into a seemingly random output string of the same length.

AdhocHost

compound module

A mobile wireless node that participates in ad hoc networks without centralized infrastructure. Extends WirelessHost by configuring the wireless interface for ad hoc mode operation and enabling packet forwarding.

AFxyQueue

compound module

This is an example queue that implements one class of the Assured Forwarding PHB group (RFC 2597).

AggregatorBase

compound module

Base module for packet aggregation. Collects multiple packets and combines them into a single aggregated packet based on a configurable aggregation policy. Aggregation improves network efficiency by reducing header overhead when transmitting multiple small packets. The module delegates the aggregation decision to a policy class or module that determines if a packet can be aggregated with the current set.

AlternatingEpEnergyConsumer

simple module

This energy consumer model alternates between two modes called consumption and sleep mode. In consumption mode, it consumes a randomly selected constant power for a random time interval. In sleep mode, it doesn’t consume energy for another random time interval.

AlternatingEpEnergyGenerator

simple module

This energy generator model alternates between two modes called generation and sleep mode. In generation mode, it generates a randomly selected constant power for a random time interval. In sleep mode, it doesn’t generate energy for another random time interval.

AlwaysOpenGateScheduleConfigurator

simple module

Provides a trivial gate scheduling algorithm that keeps all gates in the network open all the time.

AnsimMobility

simple module

Uses the <position_change> elements of the ANSim tool’s trace file.

AntennaBase

compound module

Serves as the base module for antenna models.

Aodv

simple module

Ad hoc On-Demand Distance Vector Routing Protocol module.

AodvRouter

compound module

A mobile node with the Ad hoc On-Demand Distance Vector (AODV) routing protocol. Extends AdhocHost by adding the AODV routing protocol module.

ApplicationLayerNodeBase

compound module

An extension of the transport layer node base that adds support for applications. Provides the highest level of abstraction for network nodes, completing the full network stack from physical to application layer.

ApskDecoder

compound module

Part of a simple hypothetical layered receiver. It computes the packet domain representation from the bit domain representation by applying the configured descrambling, forward error correction decoding, and deinterleaving.

ApskDemodulator

simple module

Part of a simple hypothetical layered receiver. It computes the bit domain representation from the symbol domain representation by applying the configured modulation.

ApskDimensionalRadio

compound module

(no description)

ApskEncoder

compound module

Part of a simple hypothetical layered transmitter. It computes the bit domain representation from the packet domain representation by applying the configured scrambling, forward error correction encoding, and interleaving.

ApskErrorModel

compound module

This error model determines packet error rate, bit error rate, and symbol error rate by using the well-known formula that corresponds to the modulation. It assumes no forward error correction or any other technique is used in the physical signal.

ApskLayeredErrorModel

compound module

This error model computes the erroneous bits, symbols, or simply whether the packet is error-free or not based on the SNIR.

ApskLayeredRadio

compound module

This radio model is part of a simple hypothetical layered radio. It produces detailed transmissions that have separate representations for all simulated domains.

ApskLayeredReceiver

compound module

This receiver model is part of a simple hypothetical layered radio. It receives detailed transmissions that have a separate representation for all simulated domains. The levelOfDetail parameter controls which domains are actually simulated, but all parameters relevant to the error model are expected to be set on the reception.

ApskLayeredTransmitter

compound module

This transmitter model is part of a simple hypothetical layered radio. It produces detailed transmissions that have a separate representation for all simulated domains. The levelOfDetail parameter controls which domains are actually simulated, but all parameters relevant to the error model are always set on the transmission.

ApskModulator

simple module

Part of a simple hypothetical layered transmitter. It computes the symbol domain representation from the bit domain representation by applying the configured modulation.

ApskRadio

compound module

This radio model provides a hypothetical radio that simply uses one of the well-known modulations without utilizing other techniques such as forward error correction, interleaving, spreading, etc.

ApskReceiver

compound module

This receiver model receives a transmission successfully if the minimum of the signal-to-noise and interference ratio over the duration of the reception is sufficiently high. It uses the error model to compute the error rate based on this value and the used modulation.

ApskScalarRadio

compound module

(no description)

ApskTransmitter

compound module

This transmitter model produces transmissions that have scalar transmission power in their analog representation and the configured modulation.

ApskUnitDiskRadio

compound module

Specializes ApskRadio to use the simplified signal representation of the unit disk signal propagation model. Suitable for simulations where computational efficiency is more important than detailed physical layer modeling.

ArfRateControl

simple module

Implements the Auto Rate Fallback (ARF) adaptive rate control mechanism.

Arp

simple module

Implements the Address Resolution Protocol for IPv4 and IEEE 802 6-byte MAC addresses.

AsynchronousShaper

compound module

Implements an asynchronous shaper. The queue sorts packets based on the transmission eligibility time (EligibilityTimeTag) attached to each packet. The gate prevents packets from being transmitted earlier than the attached transmission eligibility time.

ATSIeee8021qFilter

compound module

Implements a filtering module for the asynchronous traffic shaper taking scheduler groups into account.

AttachedMobility

simple module

Provides a mobility that is attached to another mobility at a given offset. The position, velocity, and acceleration are all affected by the respective quantities and the orientation of the mobility where this one is attached.

AxiallySymmetricAntenna

compound module

This antenna model computes the antenna gain from the direction using linear interpolation. The gain parameter contains a sequence of angles [degree] and gains [dB] pairs. The first pair must be at 0 [degree].

BackPressureBarrier

simple module

Prevents backpressure propagation from its output to its input and vice versa. It always allows pushing and pulling packets independently of what the connected modules would allow to do in their current state. Both pushed and pulled packets pass through unchanged, but the operations may raise a runtime error due to this module preventing backpressure propagation.

BackPressureBasedFilter

simple module

Implements a packet filter that drops packets when the following module (consumer) does not allow packets to be pushed. The module itself accepts all packets (i.e. canPushPacket() and canPushSomePacket() always return true). This is useful, for example, when the following module is a gate to filter out packets when the gate is closed.

BasicFragmentationPolicy

simple module

Implements a basic fragmentation policy, which employs a fragmentation frame size threshold.

BasicMpduAggregationPolicy

simple module

Implements an MPDU aggregation policy that never aggregates frames.

BasicMsduAggregationPolicy

simple module

Implements a basic MSDU aggregation policy, controlled by parameters such as the minimum number of subframes needed to compose an A-MSDU, the minimum length for the aggregated payload, the maximum A-MSDU size, etc.

BehaviorAggregateClassifier

simple module

Reads the DSCP (lower six bits of ToS/TrafficClass) from the received datagram, and forwards the datagram to the corresponding output gate.

Bgp

simple module

Implements the BGP Version 4 routing protocol (RFC 4271).

BgpRouter

compound module

A router that supports Border Gateway Protocol version 4 (BGPv4) along with Open Shortest Path First version 4 (OSPFv4). It extends the standard Router module with BGP and OSPF functionality enabled.

BindingCache

simple module

Holds the Binding Cache of a home agent or correspondent node (RFC 3775): the bindings registered by mobile nodes, mapping each mobile node’s home address to its current care-of address, together with the sequence number and binding lifetime. A home agent uses it to intercept and tunnel traffic to a mobile node that is away from home; a correspondent node uses it for route optimization (sending directly to the care-of address). It also keeps the return-routability nonces used to validate Binding Updates.

BindingUpdateList

simple module

Holds the Binding Update List of a mobile node (RFC 3775): one entry per home agent and correspondent node the node has sent a Binding Update to, recording the care-of address registered, sequence numbers, binding lifetimes, the return-routability state (home/care-of keygen tokens and nonce indices), and retransmission bookkeeping.

BMac

compound module

Implementation of B-MAC (also called Berkeley MAC, Low Power Listening, or LPL). See C++ documentation for details.

BMacInterface

compound module

Implements a wireless network interface using the B-MAC protocol.

BonnMotionMobility

simple module

Uses the native file format of the BonnMotion tool.

BreakpointPathLoss

compound module

Path loss model that uses a dual-slope approach with different path loss exponents for different distance ranges. Models signal attenuation with a breakpoint distance that divides propagation into two regions, each with its own path loss characteristics. Particularly useful for environments where propagation behavior changes significantly at a certain distance, such as indoor/outdoor transitions or urban scenarios with varying obstacle densities.

BridgingLayer

compound module

Provides various layer 2 services such as packet forwarding, interface selection, virtual LAN handling, stream handling.

BurstyPacketProducer

compound module

Mixes two different packet sources to generate bursty traffic.

BvhObjectCache

compound module

This object cache model organizes closely positioned physical objects into a tree data structure.

CarrierBasedLifeTimer

simple module

(no description)

CcBatteryPack

simple module

Models a battery pack consisting of multiple identical cells arranged in series or parallel. Calculates the overall capacity, voltage, and internal resistance based on the cell properties and their arrangement. In a serial arrangement, voltages and internal resistances add up. In a parallel arrangement, capacities add up and internal resistance decreases.

CcEnergyConsumerBase

simple module

This is an abstract base module for current-based energy consumer models. It defines shared signals and statistics.

CcEnergyGeneratorBase

simple module

This is an abstract base module for current-based energy generator models. It defines shared signals and statistics.

CcEnergySinkBase

simple module

This is an abstract base module for current-based energy sink models. It defines signals and statistics.

CcEnergySourceBase

simple module

This is an abstract base module for current-based energy source models. It defines shared signals and statistics.

CcEnergyStorageBase

simple module

This is an abstract base module for current-based energy storage models. It defines shared signals and statistics.

ChannelCanvasVisualizer

simple module

(no description)

ChannelVisualizerBase

simple module

(no description)

ChecksumCheckerBase

simple module

Base module for checksum checkers that verify the integrity of packets. This module filters packets based on their checksum value, dropping packets with invalid checksums. It supports multiple checksum algorithms such as CRC32 and the Internet checksum, and also several checksum modes: disabled, declared correct, declared incorrect, and computed. When in computed mode, it calculates the actual checksum and compares it with the received value.

ChecksumHeaderChecker

simple module

Checks the checksum values in packet headers to verify data integrity. This module extends ChecksumCheckerBase and adds the ability to specify the position of the checksum header (front or back of the packet). It processes packets by popping the checksum header, checking if the checksum value matches the expected value based on the checksum mode, and filtering out packets with invalid checksums.

ChecksumHeaderInserter

simple module

Adds a checksum to packets to verify data integrity. This module extends ChecksumInserterBase and adds the ability to specify the position of the checksum header (front or back of the packet). It processes packets by creating a new checksum header, computing the checksum value based on the packet content and checksum mode, setting the checksum value and mode in the header, and inserting the header at the specified position.

ChecksumInserterBase

simple module

Base module for checksum inserters that add checksums to packets for integrity verification. This module supports multiple checksum algorithms such as CRC32 and the Internet checksum, and also several checksum modes: disabled, declared correct, declared incorrect, and computed. In computed mode, it calculates the actual checksum based on the packet content using the selected checksum algorithm. The checksumMode parameter determines which mode is used.

ChiangMobility

simple module

Uses a probabilistic transition matrix to change the state of motion. In this model, the state of the mobile node in each direction (x and y) can be:

CircleMobility

simple module

Moves the node around a circle.

ClockBase

compound module

Base module for clocks.

ClockServoBase

compound module

Base module for clock servos.

CompoundPacketQueueBase

compound module

This compound module serves as a base module for complex packet queues formed by combining several queueing components.

CompoundPendingQueue

compound module

Implements a prioritized queue system for IEEE 802.11 MAC frames. Uses a classifier to separate incoming packets into three queues: management frames (highest priority), multicast frames (medium priority), and unicast frames (lowest priority). A priority scheduler then selects packets from these queues in order of priority.

ConstantDriftOscillator

simple module

Oscillator with constant fractional frequency offset (drift).

ConstantGainAntenna

compound module

This antenna model describes an antenna that has an antenna gain independent of the transmission or reception direction.

ConstantSpeedPropagation

compound module

This propagation model computes the propagation time to be proportional to the traveled distance, the ratio is determined by the constant propagation speed parameter.

ConstantTimePropagation

compound module

This propagation model computes the propagation time to be independent of the traveled distance. In other words, the propagation time is determined by a constant parameter.

ContentBasedClassifier

simple module

Connects one packet producer to multiple packet consumers. It can be populated with packets from the connected packet producer. When this occurs, the classifier pushes the packet to one of its connected packet consumers based on the configured packet filters. The first matching expression determines the index of the output gate.

ContentBasedFilter

simple module

Filters packets that match the configured filter criteria. When the filter is pushed by a connected packet producer, it either pushes the packet to the connected packet consumer or drops it, depending on the configured packet filter. Similarly, when the filter is pulled by a connected packet collector, it pulls packets from the connected packet provider until it finds one that matches the configured packet filter.

ContentBasedLabeler

simple module

Attaches various request labels to packets.

ContentBasedScheduler

simple module

Connects one packet collector to multiple packet providers. It can be pulled for packets by the connected packet collector. When this happens, the scheduler pulls a packet from one of its packet providers based on the configured packet filters. The first matching expression determines the index of the input gate.

ContentBasedTagger

simple module

Attaches various request tags to packets.

Contention

simple module

The default implementation of IContention.

ConvolutionalCoder

compound module

Implements convolutional coding, a type of error-correcting code that generates parity symbols via the sliding application of a boolean polynomial function to a data stream.

CorrespondentNode6

compound module

An IPv6 host that can communicate directly with mobile nodes in a Mobile IPv6 network. Extends the standard IPv6 host with Mobile IPv6 support for route optimization.

CosineAntenna

compound module

Models a hypothetical antenna with a cosine-based radiation pattern. This antenna model is commonly used in the real world to approximate various directional antennas.

CreditBasedGate

simple module

A packet gate that operates based on the number of credits it contains. The gate is open if the number of credits is greater than the configured transmit credit limit, otherwise it is closed. The module attaches a CreditGateTag to all packets that pass through. The attached tag allows the gate module to determine if a packet belongs to it when the packet is eventually transmitted.

CreditBasedShaper

compound module

Implements a credit-based shaper using a gate submodule to manage the number of credits.

CsmaCaInterface

compound module

Module interface for CSMA/CA network interfaces.

CsmaCaMac

compound module

Implements an imaginary CSMA/CA-based MAC protocol with optional acknowledgements and a retry mechanism. With the appropriate settings, it can approximate basic 802.11b ad-hoc mode operation.

CtsPolicy

simple module

Implements the default CTS policy.

CutthroughSink

simple module

(no description)

CutthroughSource

simple module

(no description)

DataLinkCanvasVisualizer

simple module

Visualizes data link layer links on a 2D canvas. It displays an arrow for each active link in the network. See the documentation of the base module for what constitutes an active link. The arrow points from the source towards the destination. If a link is used in both directions, then there are separate arrows for them. Each arrow fades out over time as the link becomes inactive unless it is reinforced by another packet. The arrow automatically follows the movement of mobile nodes.

DataLinkOsgVisualizer

simple module

Visualizes data link layer links on a 3D osg scene. It displays an arrow for each active link in the network. See the documentation of the base module for what constitutes an active link. The arrow points from the source towards the destination. If a link is used in both directions then there are separate arrows for them. Each arrow fades out over time as the link becomes inactive unless it is reinforced by another packet. The arrow automatically follows the movement of mobile nodes.

DataLinkVisualizer

compound module

Integrates canvas and osg data link visualizers into a single module.

DataLinkVisualizerBase

simple module

Base module for data link layer link visualizer simple modules. It keeps track of active links in a network. A link between two network nodes is considered active if a packet is sent recently between their link layers. Active links are not displayed by default, see the module parameters for how to enable the visualization. The actual visualization of active links is done in derived modules.

DataService

compound module

(no description)

Dcaf

compound module

Implements the DCAF (Distributed Channel Access Function) for IEEE 802.11.

Dcf

compound module

Implements the DCF (Distributed Coordination Function) for IEEE 802.11.

DeaggregatorBase

simple module

Base module for packet deaggregation. Takes an aggregated packet and splits it back into its original subpackets. Deaggregation is the reverse process of aggregation, extracting individual packets that were previously combined to reduce header overhead. The module receives an aggregated packet, extracts the individual subpackets, and forwards each one separately through its output gate.

DefragmenterBase

simple module

Base type for packet defragmenters that reassemble original packets from fragments. Collects and stores fragments until all fragments of a packet are received, then reconstructs the original packet.

DestreamingReceiver

simple module

Receives signals from the transmission medium (wire) as a stream. It receives the signal start and signal end separately. It sends packets to the upper layer as a whole.

DhcpClient

simple module

Implements the DHCP client protocol. DHCP (Dynamic Host Configuration Protocol), described in RFC 2131, provides configuration parameters to Internet hosts. Requires UDP.

DhcpServer

simple module

Implements the DHCP server protocol. DHCP (Dynamic Host Configuration Protocol), described in RFC 2131, provides configuration parameters to Internet hosts. Requires UDP.

DielectricObstacleLoss

compound module

This obstacle loss model determines the power loss by computing the accurate dielectric and reflection loss along the straight path considering the shape, the position, the orientation, and the material of obstructing physical objects.

DiffservQueue

compound module

This is an example queue that can be used in interfaces of DS core and edge nodes to support the AFxy (RFC 2597) and EF (RFC 3246) PHBs.

DimensionalBackgroundNoise

compound module

Background noise model for wireless communications that represents ambient noise as a power spectral density function of time and frequency. Supports configurable time-varying and frequency-varying gain patterns with various interpolation methods. Used to model realistic noise conditions in wireless channel simulations.

DimensionalMediumAnalogModel

compound module

This analog model computes with dimensional analog power representation. In other words, the signal power may change over time and/or frequency.

DimensionalRadioMedium

compound module

Radio medium model that uses dimensional representation (time and frequency domain) for signal power. Provides more accurate modeling of signal propagation, interference, and reception compared to scalar or unit disk models. Suitable for simulations requiring detailed physical layer behavior.

DimensionalReceiverAnalogModel

simple module

(no description)

DimensionalTransmitterAnalogModel

compound module

(no description)

DimensionalTransmitterBase

compound module

This transmitter model produces transmissions that use dimensional transmission power (that changes over time and/or frequency) in their analog representation and the configured modulation.

DipoleAntenna

compound module

This antenna model describes the well-known dipole antenna or doublet. It consists of two identical conductive elements, which are bilaterally symmetrical.

DirectionReverserLayer

compound module

Provides a layer that combines the decision for local delivery with the service of reversing the direction of an incoming packet to outgoing for packet forwarding.

DriftingOscillatorBase

simple module

Base module for oscillators whose effective tick rate may drift relative to a nominal tick length. This module provides the mapping used by clocks without generating one event per tick.

DropHeadQueue

simple module

This is a limited packet queue that drops packets at the head of the queue.

DropTailQueue

simple module

A limited packet queue that drops packets at the tail of the queue.

Ds

simple module

Implements the DS (Distribution Service) for IEEE 802.11, which is responsible for distributing correctly received frames to the higher layer, to the wireless LAN, etc.

DscpMarker

simple module

Sets the DSCP field (lower six bit of Tos/TrafficClass) of IP datagrams to the value specified by the dscps parameter.

Dsdv

simple module

Implements Destination-Sequenced Distance Vector.

DsdvRouter

compound module

A mobile node with the Destination-Sequenced Distance Vector (DSDV) routing protocol. Extends AdhocHost by adding the DSDV routing protocol module.

DualIeee8021qFilter

compound module

Combines two meters and their corresponding filters per path. This is primarily useful for combining a token bucket based metering with an asynchronous packet shaper. Note that the asynchronous packet shaper also has parts in the network interface queue module.

DualRateThreeColorClassifier

simple module

This packet classifier module classifies packets using two token buckets. Each packet is classified depending on which token bucket is the first one that contains the required number of tokens for the packet.

DualRateThreeColorMeter

simple module

This packet meter module measures the packet flow that is passing through using two token buckets. The meter attaches a LabelsTag to each packet with either green, yellow, or red color depending on which token bucket contains the required number of tokens for the packet.

DuplicateRemoval

simple module

Filters out duplicate packets based on sequence numbers. Keeps track of the last processed sequence number and discards packets with the same sequence number to prevent duplicate packet processing. Note that in order for this strategy to work, packets must arrive in the correct order.

Dymo

simple module

Provides Dynamic MANET On-demand (Dymo also known as AODVv2) Routing based on the IETF draft at http://tools.ietf.org/html/draft-ietf-manet-dymo-24.

DymoRouter

compound module

A mobile node with the Dynamic MANET On-demand (DYMO) routing protocol. Extends AdhocHost by adding the DYMO routing protocol module.

DynamicClassifier

simple module

(no description)

EagerGateScheduleConfigurator

simple module

Provides a gate scheduling algorithm that eagerly reserves time slots for the configured streams in the order of their priority (0 being the lowest). The allocation makes sure that only one gate (traffic category) is open in all network interfaces at any given moment of time. This strategy may result in wasting too much time of the gate cycle and thus end up failing.

EchoProtocol

simple module

Provides a mechanism to test network layer connectivity using echo request/response messages similar to those of ICMP.

EcnMarker

simple module

Sets Explicit Congestion Notification (ECN) bits in the IPv4 header based on the attached EcnReq tag on the packets.

Edca

compound module

Implements EDCA (Enhanced Distributed Channel Access) for IEEE 802.11. The implementation allows for a configurable number of access categories, not just four as defined by the standard.

EdcaCollisionController

simple module

A collision controller used with EDCA. It detects and reports internal collisions among Edcaf instances.

Edcaf

compound module

Implements EDCAF (Enhanced Distributed Channel Access Function) for IEEE 802.11. EDCAF represents one access category within EDCA.

EigrpInterfaceTable

simple module

(no description)

EigrpIpv4NeighborTable

simple module

TODO auto-generated module

EigrpIpv4Pdm

simple module

(no description)

EigrpIpv4TopologyTable

simple module

(no description)

EigrpIpv6NeighborTable

simple module

TODO auto-generated module

EigrpIpv6Pdm

simple module

(no description)

EigrpIpv6TopologyTable

simple module

(no description)

EigrpProcessDS

compound module

(no description)

EigrpRouter

compound module

A router that uses the Enhanced Interior Gateway Routing Protocol (EIGRP). It extends the standard Router module with EIGRP functionality and dual-stack (IPv4/IPv6) support.

EigrpRtp

simple module

(no description)

EigrpRtp6

simple module

(no description)

EigrpSplitter

simple module

(no description)

EligibilityTimeFilter

simple module

A packet filter that operates based on the EligibilityTimeTag attached to the packet that is passing through. Packets are dropped if the tag is missing. If the maxResidenceTime parameter is set, then the filter also drops the packets for which the eligibility time in the attached EligibilityTimeTag is greater than the current simulation time plus the maximum residence time.

EligibilityTimeGate

simple module

A packet gate that operates based on the EligibilityTimeTag attached to the next packet waiting to be pulled through. The gate is closed if the eligibility time is greater than the current simulation time, otherwise, it is open.

EligibilityTimeMeter

simple module

A packet meter which measures the packet flow that is passing through and optionally attaches an EligibilityTimeTag to the packets. The tag contains the calculated simulation time when the packet becomes eligible for transmission according to the asynchronous shaper algorithm.

EligibilityTimeQueue

simple module

A packet queue that keeps the packets in ascending order based on the eligibility time in the attached EligibilityTimeTag of the packets.

EmptyPacketSource

simple module

An active/passive empty packet source. It doesn’t push packets into the connected module, and it doesn’t allow packets to be pulled from it by the connected module. The output gate generates backpressure for pull packet operations.

EnergyStorageCanvasVisualizer

simple module

Visualizes energyStorages on a 2D canvas.

EnergyStorageOsgVisualizer

simple module

Visualizes energy storages on a 3D OSG scene.

EnergyStorageVisualizer

compound module

Integrates canvas and osg energyStorage visualizers into a single module.

EnergyStorageVisualizerBase

simple module

Base module for energy storage visualizer simple modules.

EpEnergyConsumerBase

simple module

This is an abstract base module for power-based energy consumer models. It defines shared signals and statistics.

EpEnergyGeneratorBase

simple module

This is an abstract base module for power-based energy generator models. It defines shared signals and statistics.

EpEnergySinkBase

simple module

This is an abstract base module for power-based energy sink models. It defines signals and statistics.

EpEnergySourceBase

simple module

This is an abstract base module for power-based energy source models. It defines shared signals and statistics.

EpEnergyStorageBase

simple module

This is an abstract base module for power-based energy storage models. It defines shared signals and statistics.

ErrorModelBase

compound module

Serves as the base module for error models.

EtherAppClient

simple module

A simple traffic generator for the Ethernet model and the 802.11 model, and generally for any L2 model that accepts Ieee802SapReq tags on the packets. It generates packets containing EtherAppReq chunks. It should be connected directly to Ieee8022Llc.

EtherAppServer

simple module

Server side of the EtherAppClient model – generates packets containing EtherAppResp chunks with the number of bytes requested by the client in corresponding EtherAppReq. It should be connected directly to Ieee8022Llc module.

EthernetAddressChecker

simple module

Filters Ethernet packets based on their destination MAC address. Extracts source and destination addresses from Ethernet frames and adds them as tags for use by higher layers. Accepts packets where the destination address is the receiving interface’s MAC address, the broadcast address, or a multicast address for which the interface has group membership. Drops the rest as “not addressed to us”. When in promiscuous mode, accepts all packets regardless of destination address.

EthernetAddressInserter

simple module

Inserts Ethernet MAC address fields into outgoing packets. Creates and adds the source and destination address header fields at the front of each packet. Uses the destination address from the packet’s MacAddressReq tag. If the source address is unspecified in the tag, it uses the MAC address of the requested target network interface. Updates packet protocol tags to reflect the added header.

EthernetApp

compound module

Generates traffic as an Ethernet application. The traffic source and traffic sink modules can be built from queueing model elements.

EthernetCsmaMac

simple module

Implements the Ethernet CSMA/CD MAC protocol. It supports building both Ethernet CSMA/CD and Ethernet PLCA network interfaces.

EthernetCsmaMacPhy

compound module

Ethernet MAC layer. MAC performs transmission and reception of frames. See the IEtherMac for the Ethernet MAC layer general information. Doesn’t do encapsulation/decapsulation; see Ieee8022Llc and EthernetEncapsulation for that.

EthernetCsmaPhy

simple module

Implements the Ethernet CSMA/CD PHY protocol. It supports building both Ethernet CSMA/CD and Ethernet PLCA network interfaces.

EthernetCutthroughBarrier

simple module

(no description)

EthernetCutthroughInterface

compound module

Represents an Ethernet network interface with Ethernet cut-through switching support. In contrast with store-and-forward switching, Ethernet cut-through switching can begin the transmission of the outgoing packet before the reception of the corresponding incoming packet ends. Ethernet cut-through switching can significantly reduce end-to-end delay in the network.

EthernetCutthroughLayer

compound module

(no description)

EthernetCutthroughSink

simple module

(no description)

EthernetCutthroughSource

simple module

(no description)

EthernetEncapsulation

simple module

Performs Ethernet II or Ethernet with LLC/SNAP encapsulation/decapsulation.

EthernetFcsChecker

simple module

(no description)

EthernetFcsHeaderChecker

simple module

Checks Ethernet FCS checksums inserted as headers in packets in order to verify data integrity. This module extends ChecksumHeaderChecker and specializes it to use the “ethernet-fcs” checksum type.

EthernetFcsHeaderInserter

simple module

Inserts Ethernet FCS checksums as headers into packets to enable data integrity verification. This module extends ChecksumHeaderInserter and specializes it to use the “ethernet-fcs” checksum type.

EthernetFcsInserter

simple module

(no description)

EthernetFragmentFcsChecker

simple module

(no description)

EthernetFragmentFcsInserter

simple module

(no description)

EthernetFragmentingMacLayer

compound module

(no description)

EthernetFragmentPhyHeaderChecker

simple module

(no description)

EthernetFragmentPhyHeaderInserter

simple module

(no description)

EthernetFrameClassifier

simple module

Classifier that forwards Ethernet PAUSE frames to the pauseOut gate, and other frames to the defaultOut gate.

EthernetGatingQueue

compound module

(no description)

EthernetHost

compound module

A simplified network device that communicates directly over Ethernet without higher layer protocols like IP or TCP. It provides a basic host model for Ethernet-only simulations.

EthernetHub

simple module

A simple Ethernet hub device that operates at the physical layer. It connects multiple Ethernet devices together in a star topology while creating a single collision domain.

EthernetInterface

compound module

Represents an Ethernet network interface.

EthernetLayer

compound module

(no description)

EthernetMacHeaderChecker

simple module

(no description)

EthernetMacHeaderInserter

simple module

(no description)

EthernetMacLayer

compound module

(no description)

EthernetMacPhy

compound module

Ethernet MAC which supports full-duplex operation ONLY. See the IEtherMac for general information.

EthernetPauseCommandProcessor

simple module

(no description)

EthernetPhy

simple module

(no description)

EthernetPhyHeaderChecker

simple module

(no description)

EthernetPhyHeaderInserter

simple module

(no description)

EthernetPhyLayer

compound module

(no description)

EthernetPlca

simple module

Implements the Ethernet Phyisical Layer Collision Avoidance (PLCA) protocol defined in the IEEE 802.3cg-2019 standard. It can be used to build an Ethernet network interface that can be connected to 10BASE-T1S multidrop links.

EthernetPlcaHost

compound module

A network node designed specifically for Ethernet 10BASE-T1S multidrop networks. It extends StandardHost with specialized Ethernet interfaces that support the Physical Layer Collision Avoidance (PLCA) protocol.

EthernetPlcaInterface

compound module

Implements a network interface that is suitable for use in Ethernet 10BASE-T1S multidrop links. Such a multidrop link uses the Ethernet Phyisical Layer Collision Avoidance (PLCA) protocol. The protocol is defined in the IEEE 802.3cg-2019 standard. This network interface can be used in any network node module (e.g. StandardHost) that allows replacing its network interfaces. All network interfaces on the same multidrop link must use this module.

EthernetPreemptingMacLayer

compound module

(no description)

EthernetPreemptingPhyLayer

compound module

(no description)

EthernetPriorityQueue

compound module

(no description)

EthernetQosQueue

compound module

Queue module that gives the PAUSE frames a higher priority, and can be parametrized with an IPacketQueue for serving the data frames.

EthernetQosRedQueue

compound module

Queue module that gives the PAUSE frames a higher priority, and using Random Early Detection algorithm on data frames, and can be parametrized with an IPacketQueue for serving the data frames.

EthernetQueue

compound module

Queue module that gives the PAUSE frames a higher priority.

EthernetSinkApp

compound module

Implements an Ethernet application that only receives packets.

EthernetSocketCommandProcessor

simple module

(no description)

EthernetSocketIo

simple module

Provides Ethernet socket handling for generic applications.

EthernetSocketPacketProcessor

simple module

(no description)

EthernetSocketTable

simple module

(no description)

EthernetSourceApp

compound module

Implements an Ethernet application that only sends packets.

EthernetStreamingMacLayer

compound module

(no description)

EthernetStreamingPhyLayer

compound module

(no description)

EthernetStreamThroughPhyLayer

compound module

(no description)

EthernetSwitch

compound module

EthernetSwitch models a Layer 2 Ethernet switch with support for various IEEE 802.1 protocols and features. It provides frame forwarding based on MAC addresses and implements multiple switching technologies.

EthernetTypeOrLengthChecker

simple module

(no description)

EthernetTypeOrLengthInserter

simple module

(no description)

EtherTrafGen

simple module

A simple traffic generator for the Ethernet model and the 802.11 model, and generally for any L2 model that accepts Ieee802SapReq tag on packets. It should be connected directly to Ieee8022Llc module.

ExampleQosClassifier

simple module

An example QoS classifier that assigns a User Priority based on the transport protocol and port numbers.

ExponentialRateMeter

simple module

Attaches a RateTag to each packet specifying the data rate and packet rate of the received stream of packets. The algorithm takes older packets into account with an exponentially decreasing weight.

ExternalApp

compound module

Provides an external application that uses a host OS external process.

ExternalEnvironment

simple module

Executes a setup command on the host OS during initialization and another teardown command during module destruction. For example, it can be used to configure virtual network interfaces.

ExternalProcess

simple module

Launches an external OS process in the background, using the command line given in the ‘command’ parameter. The process is terminated when the module is deleted. This module requires using the ~RealTimeScheduler class as the simulation event scheduler.

ExtEthernetSocket

simple module

Provides a bidirectional connection to an Ethernet socket of the host computer which is running the simulation. It writes the packets that arrive on upperLayerIn gate to the specified real socket and sends out packets that arrive from the real socket on the upperLayerOut gate.

ExtEthernetTapDevice

simple module

Provides a bidirectional connection to a real TAP device of the host computer which is running the simulation. It writes the packets arrived on lowerLayerIn gate to the specified real TAP device, and sends out packets arrived from the real TAP device on lowerLayerOut gate.

ExtInterface

compound module

A base for external network interfaces, network interface modules that connect the simulation to the network stack of the host OS.

ExtIpv4Socket

simple module

Provides a bidirectional connection to an IPv4 socket of the host computer which is running the simulation. It writes the packets arrived on upperLayerIn gate to the specified real socket, and sends out packets arrived from the real socket on upperLayerOut gate.

ExtIpv4TunDevice

simple module

Provides a bidirectional connection to a real TUN device of the host computer which is running the simulation. It writes the packets arrived on lowerLayerIn gate to the specified real TUN device, and sends out packets arrived from real TAP device on lowerLayerOut gate.

ExtLowerEthernetInterface

compound module

Provides an Ethernet network interface suitable for emulation. The lower part of the network interface is realized in the real world using a real Ethernet socket of the host computer which is running the simulation.

ExtLowerIpv4

compound module

Provides IPv4 layer functionality for network emulation that connects the simulation to a real network on the host computer. Sends packets from the simulation to the real network and receives packets from the real network into the simulation using raw sockets. Uses Ipv4Encap for packet encapsulation and ExtIpv4Socket for the connection to the host’s networking stack.

ExtLowerIpv4NetworkLayer

compound module

Provides a simplified network layer for emulation that connects the simulation to a real network on the host computer. Uses ExtLowerIpv4 to send packets from the simulation to the real network and receive packets from the real network into the simulation using raw sockets.

ExtLowerUdp

simple module

Provides UDP protocol services suitable for emulation. The lower part of the UDP protocol is realized in the real world using real UDP sockets of the host computer which is running the simulation.

ExtUpperEthernetInterface

compound module

Provides an Ethernet network interface suitable for emulation. The upper part of the network interface is realized in the real world using a real TAP device of the host computer which is running the simulation.

ExtUpperIeee80211Interface

compound module

Provides an IEEE 802.11 network interface suitable for emulation. The upper part of the network interface is realized in the real world using a real TAP device of the host computer which is running the simulation.

ExtUpperIpv4

compound module

Provides IPv4 layer functionality for network emulation that connects simulated applications to a real network on the host computer. Uses a real TUN device on the host OS to capture and inject packets at the IP layer, allowing simulated applications to communicate with real-world network endpoints through the host’s networking stack.

ExtUpperIpv4NetworkLayer

compound module

Provides a network layer that connects the simulation to a real network on the host computer using a TUN device. Allows simulated applications to send and receive packets through the host’s networking stack at the IP layer. Contains standard components like routing table and ARP, and uses ExtUpperIpv4 with a TUN device for external connectivity.

FacingMobility

simple module

Provides orientation towards the target mobility model as seen from the source mobility model.

FailureProtectionConfigurationCanvasVisualizer

simple module

(no description)

FailureProtectionConfigurator

simple module

Provides Time-Sensitive Networking (TSN) configuration using other configurators. One is used to provide the stream redundancy (stream splitting and stream merging) configuration, the other one is used to provide the gate scheduling configuration.

FlatGround

compound module

Models a flat ground surface with a configurable elevation. Provides methods to compute the ground projection of a 3D position by setting its z-coordinate to the elevation value, and to compute the ground normal which is always pointing upward (0,0,1) for a flat surface.

FlatRadioBase

compound module

Serves as a base module for flat radio models.

Flooding

simple module

A simple flooding protocol for network-level broadcast.

FlowMeasurementRecorder

simple module

Part of the flow measurement infrastructure. It can be used to record the collected statistics and also to terminate the flow measurements.

FlowMeasurementStarter

simple module

Initiates packet flow measurements by adding time tags to selected packets. Supports measuring various timing aspects including elapsed time, delaying time, queueing time, processing time, transmission time, and propagation time. Can be configured to measure specific packet regions and to filter which packets are measured.

Forwarding

simple module

(no description)

ForwardingService

compound module

(no description)

FragmenterBase

compound module

(no description)

FragmentNumberHeaderBasedDefragmenter

simple module

(no description)

FragmentNumberHeaderBasedFragmenter

compound module

(no description)

FragmentNumberHeaderChecker

simple module

(no description)

FragmentNumberHeaderInserter

simple module

(no description)

FragmentTagBasedDefragmenter

simple module

(no description)

FragmentTagBasedFragmenter

compound module

(no description)

FreeSpacePathLoss

compound module

Implements the free space path loss model, which models signal attenuation over distance according to the Friis transmission equation. Calculates signal power loss as a function of distance, wavelength, and configurable parameters. The alpha parameter controls the path loss exponent (default 2), while the systemLoss parameter accounts for hardware inefficiencies. Provides an ideal baseline model for wireless propagation in environments with line-of-sight and no obstacles.

FullPacketSink

simple module

An active/passive full packet sink. It doesn’t pull packets from the connected module, and it doesn’t allow packets to be pushed by the connected module. The input gate generates backpressure for push packet operations.

GateControlList

simple module

Configures multiple PeriodicGate modules according to a gate control list. The modules are looked for at the ^.transmissionGate[*] relative module path.

GateScheduleCanvasVisualizer

simple module

Visualizes gates on a 2D canvas.

GateScheduleConfiguratorBase

simple module

Serves as a basis for gate scheduling configurator modules. It provides methods for derived modules to easily extract the input parameters from the network topology and also to carry out the actual configuration of the resulting schedule. The schedule is automatically configured in all of the PeriodicGate submodules of all queue submodules in the network interface MAC layer submodules. Besides, the application start offsets are also configured. This allows the derived modules to focus on the implementation of the actual scheduling algorithm.

GateScheduleOsgVisualizer

simple module

Visualizes gates on a 3D osg scene.

GateScheduleVisualizer

compound module

Integrates canvas and osg gate visualizers into a single module.

GateScheduleVisualizerBase

simple module

Base module for gate visualizer simple modules.

GatingPriorityQueue

compound module

Implements a priority queue with multiple inner queues each having its own periodic gate for packet selection and an optional shared memory buffer.

GatingQueue

compound module

Implements a queue having its own periodic gate.

GaussMarkovMobility

simple module

Uses a Gauss-Markov model to control the randomness in the movement. Totally random walk (Brownian motion) is obtained by setting alpha=0, while alpha=1 results in linear motion.

GenericDimensionalRadio

compound module

(no description)

GenericRadio

compound module

This radio is part of the generic radio architecture.

GenericReceiver

compound module

This receiver is part of the generic radio architecture.

GenericScalarRadio

compound module

(no description)

GenericTransmitter

compound module

This transmitter is part of the generic radio architecture.

GenericUnitDiskRadio

compound module

(no description)

GeoHorizonCanvasVisualizer

simple module

Draws the satellite visibility footprint of the tracked nodes on top of an equirectangular map (e.g. a GeoMapCanvasVisualizer): the area on the Earth from which a node is seen above the elevationMask. The footprint is rebuilt every refresh from each node’s current position.

GeoMapCanvasVisualizer

simple module

Draws a 2D world map on the OMNeT++ canvas: a background map image stretched to the map area and optionally overlaid with a latitude/longitude graticule, plus an optional absolute UTC wall-clock in the lower-left corner. It also sets up the shared canvas projection so that other canvas visualizers drawing scene coordinates (node markers, movement trails, GeoHorizonCanvasVisualizer footprints, …) line up with this map.

GeoSkyViewCanvasVisualizer

simple module

Draws an azimuth/elevation “sky view” polar plot next to each observer node (typically a ground station using a StationaryMobility), showing where the target nodes (typically satellites) currently are in the observer’s sky. The center is the zenith (90 deg elevation), the outer rim is the horizon (0 deg); North is up and East is to the right (azimuth clockwise). Concentric rings mark elevations, the cardinal points (N/E/S/W) are drawn, and the band below elevationMask is masked translucently. Each visible target is a colored dot (optionally named, with a fading sky trail); targets below the horizon are hidden.

GlobalArp

simple module

Provides global address resolution without exchanging packets.

GnssTrackMobility

simple module

Mobility model that follows a recorded GNSS (WGS84) track read from a CSV, GPX, or GeoJSON LineString source, mapping geographic positions into the scene through the coordinateSystemModule. Waypoints are interpolated along the great circle, so the path stays on the Earth’s surface even between far-apart points, which works for both cars and aircraft.

Gpsr

simple module

Provides Greedy Perimeter Stateless Routing for Wireless Networks. The implementation supports both GG and RNG planarization algorithms.

GpsrRouter

compound module

A mobile node with the Greedy Perimeter Stateless Routing (GPSR) protocol. It extends AdhocHost by adding the GPSR routing protocol module.

Gptp

compound module

Implements the generalized Precision Time Protocol (gPTP) as defined in the IEEE 802.1AS-2020 standard.

GptpBridge

compound module

Implements a gPTP bridge network node.

GptpEndstation

compound module

Implements a gPTP end station that contains a clock module and a gPTP protocol.

GptpMaster

compound module

Provides a gPTP master network node.

GptpSlave

compound module

Provides a gPTP slave network node.

GridNeighborCache

compound module

This neighbor cache model organizes radios in a three-dimensional grid with a constant cell size and updates periodically.

GridObjectCache

compound module

This object cache model stores physical objects in a spatial grid. Each cell maintains a list of intersecting physical objects. The grid is aligned with the coordinate axes and it has a configurable cell size in all dimensions. The cell size parameters take precedence over the cell count parameters.

GroupEligibilityTimeMeter

simple module

Extends the EligibilityTimeMeter with scheduler groups. The calculation of the eligibility time takes into account the eligibility times of all streams of the same group.

GroupEligibilityTimeTable

simple module

A table containing the group eligibility times needed for the GroupEligibilityTimeMeter. Groups are dynamically added when a frame with a new combination of ingress port and priority values is seen.

Hcca

simple module

Implements HCCA (Hybrid Coordination Function Controlled Channel Access) for IEEE 802.11.

Hcf

compound module

Implements the HCF (Hybrid Coordination Function) for IEEE 802.11.

HomeAgent6

compound module

An IPv6 router that functions as a Home Agent in Mobile IPv6 networks. Extends the standard IPv6 router (Router6) with Mobile IPv6 support.

HostAutoConfigurator

simple module

HostAutoConfigurator automatically assigns IP addresses and sets up the routing table. It has to be added to each host.

Icmp

simple module

ICMP implementation.

Icmpv6

simple module

Implements ICMPv6 (RFC 4443): it generates and processes ICMPv6 error messages (destination unreachable, packet too big, time exceeded, parameter problem) on behalf of Ipv6, and answers Echo Requests (ping) with Echo Replies. Neighbor Discovery messages (RS/RA/NS/NA/Redirect) are not handled here but by Ipv6NeighbourDiscovery.

IdealClock

compound module

Ideal clock: clock time equals simulation time.

IdealEpEnergyStorage

simple module

This energy storage model stores an infinite amount of energy. It can provide energy for any number of consumers, and it can absorb energy from any number of generators. The ideal energy storage never gets completely charged or depleted. This module is primarily useful for testing energy consumer and energy generator models. See the base module for signals and statistics.

IdealObstacleLoss

compound module

This obstacle loss model determines power loss by checking if there is any obstructing physical object along the straight propagation path. The result is either total power loss if there was such an object or no loss at all if there wasn’t.

IdealOscillator

simple module

Ideal strictly periodic oscillator (no drift).

Ieee80211AgentSta

simple module

Used in 802.11 infrastructure mode: in a station (STA), this module controls channel scanning, association and handovers, by sending commands (e.g. Ieee80211Prim_ScanRequest) to the management module (Ieee80211MgmtSta).

Ieee80211BerTableErrorModel

compound module

(no description)

Ieee80211CanvasVisualizer

simple module

Visualizes IEEE 802.11 associations on a 2D canvas. It displays an icon labeled with the SSID for each associated wireless interface.

Ieee80211DimensionalRadio

compound module

(no description)

Ieee80211DimensionalRadioMedium

compound module

This radio medium model uses dimensional transmission power (that changes over time and/or frequency) in the analog representation. It must be used in conjunction with the dimensional analog model in radios.

Ieee80211Interface

compound module

Implements an IEEE 802.11 network interface. It implements a large subset of the IEEE 802.11 standard, and may use radio models and wireless signal representations of varying levels of detail. It is also extremely configurable, and its component structure makes it easy to experiment with various details of the protocol.

Ieee80211LayeredOfdmReceiver

compound module

Implements an IEEE 802.11 OFDM receiver. The implementation details are based on the following standard: IEEE Std 802.11-2012 PART 11: WIRELESS LAN MAC AND PHY SPECIFICATIONS

Ieee80211LayeredOfdmTransmitter

compound module

The level of detail parameter determines which submodules of the transmitter will be used:

Ieee80211LlcEpd

simple module

An LLC implementation that encapsulates packets with the IEEE 802 EtherType Protocol Discrimination (EPD) header, as defined in section 9.2 EtherTypes of the IEEE Std 802-2014 standard. See Ieee802EpdHeader.

Ieee80211LlcLpd

simple module

An LLC implementation that encapsulates packets in an LLC header, using IEEE 802 LPD-style encoding.

Ieee80211Mac

compound module

Implementation of the 802.11 MAC protocol. This module is intended to be used in combination with the Ieee80211Radio module as the physical layer.

Ieee80211MgmtAdhoc

simple module

IEEE 802.11 management module used for ad-hoc mode. This implementation never sends control or management frames, and discards any such frame received. Distributed beacon generation is not modeled.

Ieee80211MgmtAp

simple module

Used in 802.11 infrastructure mode in an access point (AP).

Ieee80211MgmtApSimplified

simple module

Used in 802.11 infrastructure mode in an access point (AP).

Ieee80211MgmtSta

simple module

Used in 802.11 infrastructure mode: handles management frames for a station (STA).

Ieee80211MgmtStaSimplified

simple module

Used in 802.11 infrastructure mode for a station (STA).

Ieee80211Mib

simple module

Management Information Base for IEEE 802.11 networks. Stores configuration and state information including network mode (infrastructure, ad-hoc, mesh), station type (access point or station), authentication and association status, and BSS data (SSID, BSSID). Used by various IEEE 802.11 modules to maintain protocol state and control frame addressing.

Ieee80211NistErrorModel

compound module

(no description)

Ieee80211OfdmDecoder

compound module

This is the decoder module for the layered IEEE 802.11 OFDM PHY infrastructure (IEEE 802.11-2012, Clause 18).

Ieee80211OfdmDemodulator

simple module

See also: Ieee80211OfdmModulator

Ieee80211OfdmEncoder

compound module

This is the encoder module for the layered IEEE 802.11 OFDM PHY infrastructure (IEEE 802.11-2012, Clause 18).

Ieee80211OfdmErrorModel

compound module

This is the error model for the layered IEEE 802.11 OFDM PHY infrastructure (IEEE 802.11-2012, Clause 18). OFDM means that the physical layer uses OFDM modulation.

Ieee80211OfdmInterleaver

compound module

The Ieee80211OfdmInterleaver is defined by a two-step permutation. The first permutation ensures that adjacent coded bits are mapped onto nonadjacent subcarriers. The second ensures that adjacent coded bits are mapped alternately onto less and more significant bits of the constellation and, thereby, long runs of low reliability (LSB) bits are avoided. (IEEE 802.11, 18.3.5.7 Data interleaving)

Ieee80211OfdmModulator

simple module

This is an IEEE 802.11 OFDM modulator module. The implementation is based on the 18.3.5.8 Subcarrier modulation mapping section in IEEE 802.11-2012 Std.

Ieee80211OfdmRadio

compound module

(no description)

Ieee80211OsgVisualizer

simple module

Visualizes IEEE 802.11 associations in a 3D osg scene. It displays an icon labeled with the SSID for each associated wireless interface.

Ieee80211Portal

simple module

Implements the portal functionality in IEEE 802.11 networks, serving as a bridge between wireless LANs and wired networks. Performs protocol conversion between IEEE 802.11 frames and IEEE 802.3 (Ethernet) frames, handling frame format differences and LLC header management.

Ieee80211Radio

compound module

This radio model is part of the IEEE 802.11 physical layer model. It supports multiple channels, different operation modes, and preamble modes. It must be used in conjunction with the Ieee80211RadioMedium model or other derived models.

Ieee80211RadioMedium

compound module

This radio medium model is part of the IEEE 802.11 physical layer model. It must be used in conjunction with the Ieee80211Radio model or other derived models.

Ieee80211Receiver

compound module

This receiver model receives an IEEE 802.11 transmission successfully if the minimum of the signal to noise and interference ratio over the duration of the reception is sufficiently high. It uses one of the IEEE 802.11 specific error models to compute the error rate based on this value and the used operation mode.

Ieee80211ScalarRadio

compound module

(no description)

Ieee80211ScalarRadioMedium

compound module

This radio medium model uses scalar transmission power in the analog representation. It must be used in conjunction with the analog model in radios.

Ieee80211StateBasedCcEnergyConsumer

simple module

Provides a radio power consumer model for IEEE 802.11 radios. Default values are roughly based on CC3220 transceiver. The power consumption is determined by the radio mode, the transmitter state, and the receiver state using constant parameters.

Ieee80211StateBasedEpEnergyConsumer

simple module

Provides a radio power consumer model for IEEE 802.11 radios. Default values are roughly based on CC3220 transceiver. The power consumption is determined by the radio mode, the transmitter state, and the receiver state using constant parameters.

Ieee80211Transmitter

compound module

This transmitter model produces IEEE 802.11 transmissions.

Ieee80211UnitDiskRadio

compound module

(no description)

Ieee80211Visualizer

compound module

Integrates canvas and osg IEEE 802.11 association visualizers into a single module.

Ieee80211VisualizerBase

simple module

Base module for IEEE 802.11 association visualizer simple modules. It keeps track of wireless interface associations by subscribing to a number of signals at the provided subscription module.

Ieee80211YansErrorModel

compound module

(no description)

Ieee802154ErrorModel

compound module

(no description)

Ieee802154Mac

compound module

Generic CSMA protocol supporting Mac-ACKs as well as constant, linear or exponential backoff times.

Ieee802154NarrowbandDimensionalRadio

compound module

(no description)

Ieee802154NarrowbandDimensionalRadioMedium

compound module

(no description)

Ieee802154NarrowbandInterface

compound module

Implements an IEEE 802.15.4 narrowband network interface.

Ieee802154NarrowbandMac

compound module

(no description)

Ieee802154NarrowbandRadio

compound module

(no description)

Ieee802154NarrowbandReceiver

compound module

(no description)

Ieee802154NarrowbandScalarRadio

compound module

(no description)

Ieee802154NarrowbandScalarRadioMedium

compound module

(no description)

Ieee802154NarrowbandTransmitter

compound module

(no description)

Ieee802154NarrowbandUnitDiskRadio

compound module

(no description)

Ieee802154UwbIrInterface

compound module

Implements an IEEE 802.15.4 UWB-IR network interface.

Ieee802154UwbIrRadio

compound module

(no description)

Ieee802154UwbIrRadioMedium

compound module

(no description)

Ieee802154UwbIrReceiver

compound module

(no description)

Ieee802154UwbIrTransmitter

compound module

(no description)

Ieee8021aeTagEpdHeaderChecker

simple module

TODO this module is incomplete

Ieee8021aeTagEpdHeaderInserter

simple module

TODO: this module is incomplete

Ieee8021dRelay

simple module

Forwards frames (~EtherFrame) based on their destination MAC addresses to appropriate ports.

Ieee8021qAsynchronousShaper

compound module

Implements the IEEE 802.1Q asynchronous shaper. An alias for the EligibilityTimeGate module.

Ieee8021qCreditBasedGate

simple module

A packet gate that can be used to implement the IEEE 802.1q credit-based shaper algorithm in combination with a packet queue.

Ieee8021qCreditBasedShaper

compound module

Implements the IEEE 802.1Q credit-based shaper.

Ieee8021qFilter

compound module

Implements the IEEE 802.1Q per-stream filtering and policing. The relationship between streams, gates, and meters is not one-to-one. The number of streams, gates, and meters can be different, and the module will take care of the connections between the submodules based on the streamFilterTable parameter.

Ieee8021qLayer

compound module

Implements IEEE 802.1Q protocol functionality as a layered architecture with policy and protocol components. The policy submodule handles VLAN filtering and mapping, while the protocol submodule manages tag encapsulation/ decapsulation. Supports both C-VLAN (0x8100) and S-VLAN (0x88A8) tag types through configuration. Enables network segmentation and traffic control in Ethernet networks by processing VLAN tags according to configured policies.

Ieee8021qProtocol

compound module

Implements the IEEE 802.1Q protocol encapsulation/decapsulation. It also provides socket support so applications can use the protocol directly.

Ieee8021qSocketCommandProcessor

simple module

Processes IEEE 802.1Q socket commands from applications and manages socket registrations in the socket table. Handles bind, close, and destroy commands for IEEE 802.1Q sockets, enabling applications to send and receive VLAN-tagged frames. Supports filtering traffic based on protocol and VLAN ID, providing a socket-based interface to the IEEE 802.1Q layer. Works in conjunction with Ieee8021qSocketTable to maintain socket state and Ieee8021qSocketPacketProcessor to deliver packets to the appropriate applications.

Ieee8021qSocketPacketProcessor

simple module

Processes packets related to IEEE 802.1Q VLAN sockets. Delivers packets to registered sockets based on protocol and VLAN ID matching. Duplicates packets for delivery to interested sockets and supports “stealing” packets to prevent them from being forwarded. Enables applications to communicate directly with specific VLANs and implements protocol handlers for VLAN-specific traffic. Works in conjunction with Ieee8021qSocketTable to provide a socket-based API for VLAN communication.

Ieee8021qSocketTable

simple module

Maintains a table of IEEE 802.1Q VLAN sockets. Each socket entry contains a socket ID, protocol, VLAN ID, and a flag indicating whether to steal packets. The module provides functionality to add, remove, and find sockets based on protocol and VLAN ID criteria. It enables applications to communicate through specific VLANs by associating sockets with VLAN tags, facilitating the routing of packets to the appropriate protocol handlers.

Ieee8021qTagEpdHeaderChecker

simple module

(no description)

Ieee8021qTagEpdHeaderInserter

simple module

(no description)

Ieee8021qTagTpidHeaderChecker

simple module

(no description)

Ieee8021qTagTpidHeaderInserter

simple module

(no description)

Ieee8021qTimeAwareShaper

compound module

Implements the IEEE 802.1Q time aware shaper.

Ieee8021rLayer

compound module

(no description)

Ieee8021rProtocol

compound module

Implements the IEEE 802.1r protocol encapsulation/decapsulation.

Ieee8021rTagEpdHeaderChecker

simple module

(no description)

Ieee8021rTagEpdHeaderInserter

simple module

(no description)

Ieee8022Llc

simple module

(no description)

Ieee8022LlcApp

compound module

Generates traffic as an IEEE 802.2 LLC application. The traffic source and traffic sink modules can be built from queueing model elements.

Ieee8022LlcChecker

simple module

(no description)

Ieee8022LlcInserter

simple module

(no description)

Ieee8022LlcLayer

compound module

(no description)

Ieee8022LlcSinkApp

compound module

Implements an IEEE 802.2 LLC application that only receives packets.

Ieee8022LlcSocketCommandProcessor

simple module

(no description)

Ieee8022LlcSocketIo

simple module

Provides IEEE 802.2 LLC socket handling for generic applications.

Ieee8022LlcSocketPacketProcessor

simple module

(no description)

Ieee8022LlcSocketTable

simple module

(no description)

Ieee8022LlcSourceApp

compound module

Implements an IEEE 802.2 LLC application that only sends packets.

Ieee8022SnapChecker

simple module

(no description)

Ieee8022SnapInserter

simple module

(no description)

Igmpv2

simple module

Implementation of IGMPv2 protocol. Multicast routers use IGMP to learn which groups have members on each of their attached physical networks.

Igmpv3

simple module

Implements IGMPv3 (RFC 3376), the source-filtering version of the Internet Group Management Protocol for IPv4. Beyond plain group membership (see Igmpv2), IGMPv3 lets a host request a group’s traffic while INCLUDING or EXCLUDING a specific set of sources – the basis for Source-Specific Multicast. A single module performs both the host and the multicast-router (querier) role.

InfoCanvasVisualizer

simple module

Visualizes some information of a submodule for each network node on a 2D canvas.

InfoOsgVisualizer

simple module

Visualizes some information of a submodule for each network node on a 3D osg scene.

InfoVisualizer

compound module

Integrates canvas and osg info visualizers into a single module.

InfoVisualizerBase

simple module

Base module for submodule information visualizer simple modules. It displays some information on network nodes originating from one of their corresponding submodules. No information is displayed by default, see module parameters for how to enable the visualization. The actual visualization is done in derived modules.

InProgressFrames

simple module

InProgressQueue

simple module

Specialized packet queue that only accepts packets with higher priority than those already in the queue. Unlike standard packet queues, it always returns false for canPushSomePacket() and only allows insertion of packets that compare favorably against the first packet in the queue according to the configured comparator function (see comparatorClass parameter). Useful for implementing priority-based packet processing where only higher priority packets can preempt currently queued packets.

InstantServer

simple module

Repeatedly pulls packets from the connected packet provider and pushes the packet into the connected packet consumer without delay.

IntegratedCanvasVisualizer

compound module

Integrates all canvas visualizers into a single module. It supports disabling any submodule visualizer by providing an empty string as its type.

IntegratedMultiCanvasVisualizer

compound module

Integrates all canvas visualizers into a single module. It supports disabling any submodule visualizer by providing an empty string as its type.

IntegratedMultiOsgVisualizer

compound module

Integrates all osg visualizers into a single module. It supports disabling any submodule visualizer by providing an empty string as its type.

IntegratedMultiVisualizer

compound module

Integrates canvas and osg visualizers into a single module.

IntegratedOsgVisualizer

compound module

Integrates all osg visualizers into a single module. It supports disabling any submodule visualizer by providing an empty string as its type.

IntegratedVisualizer

compound module

Integrates canvas and osg visualizers into a single module.

InteractiveGate

simple module

This packet gate module allows or forbids packets to pass through depending on whether the gate is open or closed as specified by the parameter. The gate can also be controlled by the user by manually changing the open parameter from the graphical user interface while the simulation is paused.

InterfaceRelayLayer

compound module

Combines the interface MAC address learning from incoming packets with the outgoing interface selection for outgoing packets into a single layer.

InterfaceService

compound module

(no description)

InterfaceTable

simple module

Keeps the table of network interfaces.

InterfaceTableCanvasVisualizer

simple module

Visualizes interface tables on a 2D canvas. It displays a label for each selected network interface at the owner network node.

InterfaceTableOsgVisualizer

simple module

Visualizes interface tables on a 3D osg scene. It displays a label for each selected network interface at the owner network node.

InterfaceTableVisualizer

compound module

(no description)

InterfaceTableVisualizerBase

simple module

Base module for interface table visualizer simple modules. It displays information of network interfaces at network nodes. Network interfaces are not displayed by default, see module parameters for how to enable the visualization.

InternetChecksumHeaderChecker

simple module

Checks Internet checksum headers in packets to verify data integrity. This module extends ChecksumHeaderChecker and specializes it to use the “internet” checksum type.

InternetChecksumHeaderInserter

simple module

Inserts Internet checksum headers into packets to enable data integrity verification. This module extends ChecksumHeaderInserter and specializes it to use the “internet” checksum type.

InternetCloud

compound module

InternetCloud models a large network such as part of the Internet or a corporate backbone network with realistic delay, packet loss, and datarate characteristics. It abstracts away the internal structure of the network while preserving the end-to-end behavior that applications would experience.

InterpacketGapInserter

simple module

Enforces a minimum time gap between consecutive packets, which is important for protocols like Ethernet that require an interpacket gap (IPG) or interframe spacing. This module delays packet transmission to ensure the configured minimum gap duration is maintained between packets. It can optionally use an external clock module for timing, and supports packet streaming.

InterpolatingAntenna

compound module

This antenna model computes the antenna gain from the direction of the signal using linear interpolation for all 3 Euler angles independently of each other. The gain parameters contain a sequence of angle [degree] and gain [dB] pairs. The first pair must be at 0 [degree].

IpApp

compound module

Generates traffic for a IP application. The traffic source and traffic sink modules can be built from queueing model elements.

IPsec

simple module

Implements basic IPsec (RFC 4301) functionality. It supports Authentication Header (AH) and Encapsulating Security Payload (ESP), in transport mode, for IPv4 and IPv6 unicast traffic (UDP/TCP/ICMP/ICMPv6). The address family is selected per instance via the networkProtocol parameter; the same module type is used in both the IPv4 and IPv6 network layers. A simple performance model to account for the overhead of cryptography is included. The IPsec databases SPD and SAD are stored in separate modules (SecurityPolicyDatabase, SecurityAssociationDatabase).

IpSinkApp

compound module

Implements an IP application that only receives packets.

IpSocketIo

simple module

Provides IP socket handling for generic applications.

IpSourceApp

compound module

Implements an IP application that only sends packets.

Ipv4

simple module

Implements the IPv4 protocol. The protocol header is represented by the Ipv4Header message class.

Ipv4Encap

simple module

Handles IPv4 encapsulation and decapsulation for network emulation. Adds IPv4 headers to outgoing packets and removes them from incoming packets. Processes packet tags for fields like TOS, DSCP, ECN, and hop limit. Supports socket operations and manages protocol registration for dispatching packets to the appropriate upper layer protocols.

Ipv4FlatNetworkConfigurator

simple module

Configures IPv4 addresses and routing tables for a “flat” network, “flat” meaning that all hosts and routers will have the same network address and will only differ in the host part.

Ipv4NatTable

simple module

Stores the network address translation table.

Ipv4NetworkConfigurator

simple module

Assigns IPv4 addresses and sets up static routing for an IPv4 network. It assigns per-interface IP addresses, strives to take subnets into account, and can also optimize the generated routing tables by merging routing entries.

Ipv4NetworkLayer

compound module

Network layer of an IPv4 node.

Ipv4NodeConfigurator

simple module

Configures the containing network node using information provided by the network’s global configurator modue Ipv4NetworkConfigurator.

Ipv4RoutingTable

simple module

Stores the routing table. (Per-interface configuration is stored in InterfaceTable.)

Ipv6

simple module

Implements the IPv6 protocol.

Ipv6FlatNetworkConfigurator

simple module

Configures IPv6 addresses and routing tables for a “flat” network, “flat” meaning that all hosts and routers will have the same network address and will only differ in the host part.

Ipv6NeighbourDiscovery

simple module

Implements IPv6 Neighbor Discovery.

Ipv6NetworkConfigurator

simple module

Assigns IPv6 addresses and sets up static routing for an IPv6 network. It assigns per-interface global IPv6 addresses based on prefix templates, and can configure static routes using Dijkstra’s shortest path algorithm.

Ipv6NetworkLayer

compound module

Represents a complete IPv6 network layer (L3), to be used within hosts and routers. It connects to higher-layer protocols (TCP, UDP, …) on top and to the network interfaces below, and bundles the modules that together implement IPv6:

Ipv6NodeConfigurator

simple module

Configures the containing network node using information provided by the network’s global configurator module Ipv6NetworkConfigurator.

Ipv6RoutingTable

simple module

IPv6 Routing Table and Neighbor Discovery data structures. NOTE: This component MUST be named as routingTable6 inside a StandardHost/Router etc. in order to be accessible by the Ipv6 and other modules.

Ipv6Tunnel

simple module

Worker module of ~Ipv6TunnelInterface: performs IPv6-in-IPv6 (RFC 2473) encapsulation. A packet routed to this interface (from the IPv6 layer) is wrapped in an outer IPv6 header and handed back to IPv6, which forwards the encapsulated datagram toward the tunnel exit.

Ipv6TunnelInterface

compound module

A virtual network interface that tunnels IPv6 traffic in IPv6 (RFC 2473). Traffic routed to this interface is encapsulated toward destination and handed back to IPv6 for forwarding; the IPv6 core needs no tunneling-specific knowledge. Plugs into the tun[] slot of nodes like any ITunnelInterface.

IpvxTrafGen

simple module

Sends IP or IPv6 datagrams to the given address at the given sendInterval. The sendInterval can be a constant or a random value (e.g. exponential(1)). If the destAddresses parameter contains more than one address, one of them is randomly chosen for each packet. An address may be given in the dotted decimal notation (or, for IPv6, in the usual notation with colons), or with the module name. (The L3AddressResolver class is used to resolve the address.) To disable the model, set destAddresses to “”.

IpvxTrafSink

simple module

Consumes and prints packets received from the IP module. Compatible with both Ipv4 and Ipv6.

IsotropicAntenna

compound module

This antenna model describes the theoretical point source which radiates the same intensity of radiation in all directions.

IsotropicDimensionalBackgroundNoise

compound module

This background noise model describes noise that does not change over space, time and frequency. It produces dimensional noise signals that can be further used in dimensional computations.

IsotropicScalarBackgroundNoise

compound module

This background noise model describes noise that does not change over space, time, and frequency. It produces scalar noise signals that can be further used in scalar computations.

L2NetworkConfigurator

simple module

Allows configuring network scenarios at layer 2. The Stp and Rstp related parameters such as link cost, port priority and the “is-edge” flag can be configured with XML files.

L2NodeConfigurator

simple module

Has one instance per network node, and it acts like a bridge between the node and the network’s global configurator module, L2NetworkConfigurator.

L3NetworkConfiguratorBase

simple module

Serves as a base module for layer 3 network configurators.

LabelClassifier

simple module

Classifies packets based on the attached labels in a LabelsTag.

LabelFilter

simple module

This packet filter module drops packets that don’t match the given packet label filter criteria. The criteria can use wildcards and Boolean operators.

LabelScheduler

simple module

Schedules packets based on the attached labels in a LabelsTag.

LayeredErrorModelBase

compound module

(no description)

LayeredEthernetInterface

compound module

Implements an Ethernet network interface.

LayeredProtocolBase

simple module

Module base for different layered protocols.

Ldp

simple module

Handles and processes LDP messages.

LdpMplsRouter

compound module

An LDP-capable MPLS router.

LeakyBucket

compound module

Implements a parameterizable leaky bucket algorithm.

LengthBasedAggregatorPolicy

simple module

A policy for aggregating subpackets based on their length

LengthBasedFragmenterPolicy

simple module

(no description)

LibTable

simple module

Stores the LIB (Label Information Base), accessed by Mpls and its associated control protocols (RsvpTe, Ldp) via direct C++ method calls.

LinearMobility

simple module

This is a linear mobility model with speed and angle parameters. Angle only changes when the mobile node hits a wall: then it reflects off the wall at the same angle.

LinkBreakCanvasVisualizer

simple module

Visualizes link breaks on a 2D canvas. It displays an icon for each link break in the network. See the documentation of the base module for what constitutes a link break. The icon is positioned at the midpoint of the link.

LinkBreakOsgVisualizer

simple module

Visualizes link breaks on a 3D osg scene. It displays an icon for each link break in the network. See the documentation of the base module for what constitutes a link break. The icon is positioned at the middle point of the link.

LinkBreakVisualizer

compound module

Integrates canvas and osg link break visualizers into a single module.

LinkBreakVisualizerBase

simple module

Base module for link break visualizer simple modules. It keeps track of link breaks in a network. Link breaks are not displayed by default, see module parameters for how to enable the visualization. The actual visualization of link breaks is done in derived modules.

LinkLayerNodeBase

compound module

An extension of the basic node infrastructure with link layer functionality. Provides support for various network interfaces and link layer protocols, forming the foundation for network connectivity.

LinkStateRouting

simple module

Implements a very minimalistic link state routing protocol. Apart from the basic topology information, the current link usage is distributed to all participants in the network (by means of flooding).

LinkVisualizerBase

simple module

Base module for link visualizer simple modules. It keeps track of active links in a network. A link between two network nodes is considered active if a packet has been sent recently between the corresponding layers. Active links are not displayed by default, see the module parameters for how to enable the visualization. The actual visualization of active links is done in derived modules.

LMac

compound module

Implementation of L-MAC (Lightweight Medium Access Protocol for Wireless Sensor Networks).

LMacInterface

compound module

Implements a wireless network interface using the L-MAC protocol.

LocalDelivery

simple module

(no description)

LocalMobilityAnchor

compound module

An IPv6 router that acts as the Local Mobility Anchor (LMA) in a Proxy Mobile IPv6 (RFC 5213) domain. It is the topological anchor for the mobile nodes’ home network prefixes: it holds the binding cache, terminates the bidirectional tunnels to the Mobile Access Gateways, and routes each mobile node’s home network prefix into the tunnel toward its currently serving gateway.

LogNormalShadowing

compound module

Path loss model that combines free space path loss with log-normal shadowing. Extends the deterministic free space model by adding a random component that follows a normal distribution with zero mean and configurable standard deviation (sigma). This accounts for signal variations due to obstacles and environmental factors, providing more realistic wireless signal propagation modeling than pure deterministic models.

Loopback

simple module

Loopback interface module implementation.

LoopbackInterface

compound module

Implements a loopback network interface.

MacForwardingTable

simple module

Handles the mapping between ports and MAC addresses.

MacForwardingTableConfigurator

simple module

Configures the forwarding database (MAC address table) of all network nodes in the network based on the automatically discovered network topology. The configurator uses the shortest path algorithm to determine the outgoing network interface for all network nodes and all destination network interfaces. The effect of this configuration is that the network can use the the GlobalArp module and completely eliminate the ARP protocol messages.

MacProtocolBase

simple module

Module base for different MAC protocols.

MacRelayUnit

simple module

Implements Ethernet switch functionality by relaying frames between different ports based on destination MAC addresses. Maintains a MAC address table that maps addresses to ports, learns addresses from incoming frames, and forwards frames appropriately. Handles unicast, multicast, and broadcast traffic according to standard Ethernet switching rules, with support for VLANs.

MacRelayUnitBase

simple module

Abstract base module for MAC relay unit implementations (Ethernet switches). Provides core functionality for MAC address learning and frame forwarding in bridged Ethernet networks. Contains functionality for maintaining a MAC address table that maps addresses to ports, learning addresses from incoming frames, and forwarding frames to appropriate interfaces. It is able to handle unicast, multicast, and broadcast traffic according to standard Ethernet switching rules.

MacService

compound module

(no description)

ManetRouter

compound module

A mobile node with ad hoc routing capabilities intended for Mobile Ad hoc Networks (MANETs). Extends AdhocHost by adding support for MANET routing protocols.

MapCommunicationCache

compound module

This communication cache model stores radio, transmission and reception related intermediate computation results in map data structures. It’s primarily useful for simulations with both static and dynamic radios, and with both short and long transmission durations.

MarkovClassifier

simple module

Implements a packet classifier using a Markov process that has as many states as output gates the classifier has. The output gate for a given packet is determined by the current state of the Markov process.

MarkovScheduler

simple module

Implements a packet scheduler using a Markov process that has as many states as input gates the scheduler has. The input gate for the next packet is determined by the current state of the Markov process.

MassMobility

simple module

This is a random mobility model for a mobile host with mass. It is the one used in “Optimized Smooth Handoffs in Mobile IP” by Perkins & Wang.

MatrixCloudDelayer

simple module

Delay module for InternetCloud. This is essentially equivalent to a full graph with edges being differently configured DatarateChannel’s. It delays and/or drops incoming packets based on rules specified in an xml configuration.

Mcf

compound module

IEEE 802.11 Mesh Coordination Function

MeasurementLayer

compound module

(no description)

MediumCanvasVisualizer

simple module

Visualizes a medium on a 2D canvas. It displays communication ranges and interference ranges as circles around network nodes. It displays an image at network nodes which are currently transmitting, and a different image at other network nodes which are currently receiving. It also displays radio signals as a 2D ring or a 3D sphere as they propagate through the medium.

MediumLimitCache

compound module

Caches various limits and constraints of the radio medium to optimize performance. Maintains information about maximum transmission power, minimum interference and reception power, maximum antenna gain, communication and interference ranges, and other parameters. These limits can be specified directly or computed dynamically based on the radios in the network.

MediumOsgVisualizer

simple module

Visualizes a medium using a 3D osg scene. It displays communication ranges and interference ranges as circles around network nodes. It displays an image at network nodes which are currently transmitting, and a different image at other network nodes which are currently receiving. It also displays radio signals as a growing 2D ring or a 3D sphere as they propagate through the medium. All 2D shapes such as circles, rings, and images can be displayed in 4 different planes: camera, xy, xz, and yz. It’s also possible to use animated images.

MediumVisualizer

compound module

Integrates canvas and osg medium visualizers into a single module.

MediumVisualizerBase

simple module

Base module for medium visualizer simple modules. It keeps track of ongoing signal departures, ongoing signal arrivals, and propagating signals.

MessageChecker

simple module

Module that allows checking fields of messages.

MessageDispatcher

simple module

Facilitates the interconnection of applications, protocols, and network interfaces, dispatching messages and packets among them. It supports diverse configurations, ranging from layered architectures with distinct message dispatchers for separate communication layers, to centralized structures where a single dispatcher manages connections to all components.

Mipv6

simple module

Implements Mobile IPv6 (RFC 3775): the mobility signalling and binding management logic for a mobile node, home agent, or correspondent node (the role is selected by the isMobileNode and isHomeAgent parameters). It is a submodule of Ipv6NetworkLayer (enabled by its hasMipv6 parameter) and works together with the BindingUpdateList and BindingCache modules.

Mldv1

simple module

Implements MLDv1 (RFC 2710): Multicast Listener Discovery for IPv6 – the IPv6 equivalent of Igmpv2. A single module performs both the host listener role and the router querier role; the router role is active only on multicast routers (i.e. when IPv6 multicast forwarding is enabled on the node).

Mldv2

simple module

Implements MLDv2 (RFC 3810): Multicast Listener Discovery version 2 for IPv6 – the IPv6 equivalent of Igmpv3, and the source-filtering successor to Mldv1. Beyond plain group membership, MLDv2 lets a host request a group’s traffic while INCLUDING or EXCLUDING a specific set of sources – the basis for Source-Specific Multicast (SSM). A single module performs both the host listener role and the multicast-router (querier) role; the router role is active only on multicast routers (i.e. when IPv6 multicast forwarding is enabled on the node).

MoBanCoordinator

simple module

This is the coordinator module of the MoBAN mobility model. It should be instantiated in the top level simulation network in MiXiM, once per WBAN. The coordinator module is the main module that provides the group mobility and correlation between nodes in a WBAN. In the initialization phase, it reads three user-defined input files which are the posture specification file, a configuration file which includes all required parameters for specific distributions, and the previously logged mobility pattern if it is requested to use a logged pattern. Note that all WBAN instances may use the same input files if they are exactly in the same situation.

MoBanLocal

simple module

This is the local mobility module of MoBAN. It should be instantiated in each node that belongs to a WBAN. The NED parameter coordinatorIndex determines to which WBAN (MoBanCoordinator) it belongs. The current implementation uses the Random Walk Mobility Model (RWMM) for individual (local) movement with a sphere around the node, with given speed and sphere radius of the current posture. The reference point of the node is the current posture, the sphere radius, and the speed is given by the corresponding coordinator. RWMM determines the location of a node at any time relative to the given reference point.

MobileAccessGateway

compound module

An IPv6 access router that acts as a Mobile Access Gateway (MAG) in a Proxy Mobile IPv6 (RFC 5213) domain. It detects mobile nodes attaching to and detaching from its access links, sends Proxy Binding Updates to the Local Mobility Anchor on their behalf, sets up the tunnel to the anchor, and advertises each mobile node’s home network prefix on the access link so the (unmodified) mobile node keeps its address as it roams between gateways.

MobileHost6

compound module

A host with Mobile IPv6 support. Extends the standard IPv6 host (StandardHost6) with mobility management capabilities.

MobilityBase

simple module

Abstract base module for mobility models.

MobilityCanvasVisualizer

simple module

Visualizes multiple mobilities on a 2D canvas. It moves visual representations according to their mobility model. It also displays recent movement as a polyline, current velocity vector, and current orientation.

MobilityOsgVisualizer

simple module

Visualizes multiple mobilities on a 3D osg scene. It moves the visual representation according to their mobility model. It also displays recent movement as a polyline, current velocity vector, and current orientation.

MobilityVisualizer

compound module

Integrates canvas and osg mobility visualizers into a single module.

MobilityVisualizerBase

simple module

Base module for mobility visualizer simple modules. It subscribes to the mobilityStateChanged signal in the module determined by the visualizationSubjectModule parameter. The actual visualization of mobility is done in derived modules.

Module

compound module

Base module for all INET compound modules.

ModuleDump

simple module

(no description)

ModuleMixin

simple module

Base module for all INET modules.

MovingMobilityBase

simple module

Abstract base module for mobility models.

Mpls

simple module

Implements the MPLS protocol.

MplsRouterBase

compound module

Base module for MPLS-capable routers. Extends the standard Router with the MPLS data plane (Mpls, LibTable) and the Traffic Engineering Database (Ted, LinkStateRouting) common to all MPLS signaling protocols.

Mrp

simple module

Implements the Media Redundancy Protocol (MRP) as specified in IEC 62439-2. MRP is used for managing redundancy in ring network topologies commonly found in industrial network settings. MRP is similar in its function to STP and RSTP, in that it ensures a loop-free topology for an Ethernet local area network. This module implements the Media Redundancy Manager (MRM), Media Redundancy Client (MRC), and Media Redundancy Automanager (MRA) roles. This model also includes support for detecting link errors with the help of Continuity Check Messages (CCM) messages defined in 802.1q CFM.

MrpInterconnection

simple module

Implements ring interconnection support for the Media Redundancy Protocol (MRP) as specified in IEC 62439-2. This is an extension of the Mrp module with the Media Redundancy Interconnection Manager (MIM) and Media Redundancy Interconnection Client (MIC) roles. This module should be used instead of Mrp in MRP nodes that are also ring interconnection nodes.

MrpMacForwardingTable

simple module

This is a variant of MacForwardingTable, with added support for the Media Redundancy Protocol (MRP) defined in IEC 62439-2.

MrpRelay

simple module

Relay unit with support for the Media Redundancy Protocol (MRP), defined in IEC 62439-2.

MrpSwitch

compound module

An Ethernet switch with Media Redundancy Protocol (MRP) support. It extends the standard EthernetSwitch by enabling the MRP functionality.

MulticastRouter

compound module

A router with multicast routing capabilities that can forward multicast traffic between different network segments.

MulticastRouter6

compound module

An IPv6 router with multicast routing capabilities. It is the IPv6 counterpart of ~MulticastRouter: it extends the IPv6 Router6 node (no IPv4 stack; routingTableModule already points at the IPv6 routing table), enables Protocol Independent Multicast (PIM) and multicast forwarding, and binds the whole PIM compound (both PIM-DM and PIM-SM) to the IPv6 stack via pim.addressFamily = “ipv6”.

MultiClock

compound module

Multi-clock aggregator and switch.

MultiDomainGptp

compound module

Combines multiple Gptp modules, one per time domain into a multi time domain time synchronization module. Each gPTP time domain is automatically configured to use the corresponding subclock of the clock passed into this module.

MultiFieldClassifier

simple module

This classifier contains a list of filters that identifies the flows and determines their classes. Each filter can match the source and destination address, IP protocol number, source and destination ports, or ToS of the datagram. The first matching filter determines the index of the out gate. If no matching filter is found, then the packet will be sent through the defaultOut gate.

MultiMeasurementLayer

compound module

(no description)

MultiPacketFilter

compound module

Combines multiple packet filters into one.

MultiPacketMeter

compound module

Combines multiple packet meters into one.

MultiPacketPolicing

compound module

Combines multiple packet policing modules into one.

MultiTokenBucketClassifier

simple module

Classifies packets into the first bucket that contains the required number of tokens. The packet is forwarded to the output gate that corresponds to the selected bucket.

MultiTokenBucketMeter

simple module

Labels packets according to the first token bucket that contains the required number of tokens. If no such token bucket is found then the default label is attached to the packet.

NakagamiFading

compound module

Implements the Nakagami fading model for wireless signal propagation. This statistical model extends the free space path loss model by adding multipath fading effects. The shapeFactor parameter determines the severity of fading, with lower values representing more severe fading conditions. When shapeFactor equals 1, the Nakagami distribution reduces to the Rayleigh distribution, modeling severe multipath with no line-of-sight component.

NarrowbandRadioBase

compound module

Serves as a base module for narrowband radio models.

NarrowbandReceiverBase

compound module

Serves as a base module for narrowband receiver models.

NarrowbandTransmitterBase

compound module

Serves as a base module for narrowband transmitter models.

NeighborListNeighborCache

compound module

This neighbor cache model maintains a separate periodically updated neighbor list for each radio.

NetfilterInfoHook

simple module

(no description)

NetPerfMeter

simple module

Application model for comparing the performance of various transport protocols.

NetworkConfiguratorBase

simple module

(no description)

NetworkConnectionCanvasVisualizer

simple module

Visualizes multiple network connections on a 2D canvas.

NetworkConnectionOsgVisualizer

simple module

Visualizes multiple network connections on a 3D OSG scene.

NetworkConnectionVisualizer

compound module

Integrates canvas and OSG connection visualizers into a single module.

NetworkConnectionVisualizerBase

simple module

Base module for connection visualizer simple modules. The actual visualization of network connections is done in derived modules.

NetworkInterface

compound module

Serves as the base module for all network interfaces.

NetworkLayerNodeBase

compound module

An extension of the link layer node base with network layer functionality. Provides support for multiple network protocols, including IPv4 and IPv6.

NetworkNodeCanvasVisualizer

simple module

Visualizes multiple network nodes on a 2D canvas. It maintains a NetworkNodeCanvasVisualization figure for each node in the network which can be annotated by other visualizers.

NetworkNodeOsgVisualizer

simple module

Visualizes multiple network nodes on a 3D osg scene. The visual representation is either a 3D external model or a 2D icon that is rotated automatically towards the camera. The 3D external model is specified in the osgModel module parameter of the network node. The 2D icon is the image specified in the display string of the network node. The visualizer maintains a NetworkNodeOsgVisualization instance for each network node which can be annotated by other visualizers.

NetworkNodeVisualizer

compound module

Integrates canvas and osg node visualizers into a single module.

NetworkNodeVisualizerBase

simple module

Base module for node visualizer simple modules. The actual visualization of network nodes is done in derived modules.

NetworkProtocolBase

simple module

Module base for different network protocols.

NetworkRouteCanvasVisualizer

simple module

Visualizes network routes on a 2D canvas. It displays a polyline arrow for each active route in the network. See the documentation of the base module for what constitutes an active route. The arrow points from the source towards the destination. If a link is used in both directions, then there are arrowheads on both ends of the arrow. Each polyline fades out over time until the route becomes inactive unless it is reinforced by another packet. The polyline automatically follows the movement of mobile nodes.

NetworkRouteOsgVisualizer

simple module

Visualizes network routes on a 3D osg scene. It displays a polyline for each active route in the network. See the documentation of the base module for what constitutes an active route. Each polyline fades out over time until the route becomes inactive unless it is reinforced by another packet. The polyline automatically follows the movement of mobile nodes.

NetworkRouteVisualizer

compound module

Integrates canvas and osg network route visualizers into a single module.

NextHopForwarding

simple module

A simplified next hop forwarding that routes datagrams using different kinds of network addresses.

NextHopNetworkConfigurator

simple module

Adds routes to a NextHopRoutingTable similarly to how Ipv4NetworkConfigurator adds static routes to the Ipv4RoutingTable.

NextHopNetworkLayer

compound module

Provides a network layer for the next hop forwarding.

NextHopRoutingTable

simple module

Stores next hop routes used by the next hop forwarding protocol.

NoClockServo

compound module

No-op clock servo.

NodeBase

compound module

The fundamental infrastructure for all network nodes focusing on non-communication aspects of network nodes.

NodeStatus

simple module

Keeps track of the status of the network node (up, down, etc.) for other modules, and also displays it as a small overlay icon on this module and on the module of the network node.

NoiseSource

compound module

A network node that generates periodic noise transmissions that can interfere with wireless communications. Alternates between sleep and transmission states based on configurable intervals. Uses a NoiseTransmitter to create noise signals with specified duration, frequency, bandwidth, and power parameters. Useful for testing protocol robustness against interference in wireless networks.

NoiseTransmitter

compound module

Transmitter module that generates noise signals with configurable parameters. Creates noise transmissions with specified duration, center frequency, bandwidth, and power. Used by NoiseSource to produce interference in wireless networks for testing protocol robustness and simulating realistic channel conditions.

NonQosRecoveryProcedure

simple module

Implements frame retransmission and recovery procedures for non-QoS frames in IEEE 802.11 networks. Manages short and long retry counters, adjusts contention window size based on transmission outcomes, and enforces retry limits. Handles different retry procedures for frames below and above the RTS threshold as specified in IEEE 802.11 standard section 9.19.2.6.

Ns2MotionMobility

simple module

OmittedEthernetEncapsulation

compound module

Implements the given module interface and can be used as an optional module that removes itself from the module hierarchy during initialization.

OmittedIeee8021dQosClassifier

compound module

Implements the given module interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedIeee8021qTagEpdHeaderChecker

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedIeee8021qTagEpdHeaderInserter

compound module

Implements the module given by the interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedIeee8021qTagTpidHeaderChecker

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialize.

OmittedIeee8021qTagTpidHeaderInserter

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedIeee8022Llc

compound module

Implements the given module interface and can be used as an optional module that removes itself from the module hierarchy during initialization.

OmittedIeee8022LlcChecker

compound module

Implements the given module interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedIeee8022LlcInserter

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialize.

OmittedIeee8022LlcLayer

compound module

Implements the module given an interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedIeee8022SnapChecker

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedIeee8022SnapInserter

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedMeasurementLayer

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedPacketDelayer

compound module

Implements the given module interface and can be used as an optional module that removes itself from the module hierarchy during initialization.

OmittedPacketFilter

compound module

Implements the given module interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedPacketFlow

compound module

Implements the given module interface and can be used as an optional module that removes itself from the module hierarchy during initialization.

OmittedPacketGate

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedPacketMeter

compound module

Implements the module given interface and can be used as an optional module that removes itself from the module hierarchy during initialize.

OmittedPacketQueue

compound module

Implements the given module interface and can be used as an optional module that removes itself from the module hierarchy during initialization.

OmittedPacketServer

compound module

Implements the given interface and can be used as an optional module that removes itself from the module hierarchy during initialization.

OmittedProcessingDelayLayer

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedProtocolLayer

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedSocketLayer

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialize.

OmittedTrafficConditioner

compound module

Implements the given module interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OmittedTrafficConditionerLayer

compound module

Implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialization.

OnoeRateControl

simple module

Implements ONOE, a credit-based rate control algorithm originally developed by Atheros.

OpenStreetMapSceneCanvasVisualizer

simple module

Visualizes a stream map given in an OpenStreetMap (openstreetmap.org) file. Other objects of the scene are placed on the map according to the coordinate system module.

OrdinalBasedDropper

simple module

Drops packets based on the ordinal number of the packet in the received stream of packets.

OrdinalBasedDuplicator

simple module

Duplicates packets based on the ordinal number of the packet in the received stream of packets.

OriginatorAckPolicy

simple module

Implements the default originator ACK policy for non-QoS stations.

OriginatorBlockAckAgreementHandler

simple module

Manages Block Acknowledgment (Block Ack) agreements for the originator side in IEEE 802.11 networks. Handles the creation, maintenance, and termination of Block Ack agreements with receivers. Processes ADDBA requests/responses and DELBA frames, tracks agreement timeouts, and maintains the state of active agreements. Enables efficient acknowledgment of multiple frames with a single Block Ack frame.

OriginatorBlockAckAgreementPolicy

simple module

Implements the default originator block ACK agreement policy

OriginatorMacDataService

compound module

Implements the MAC data service for the originator (sender) side in non-QoS IEEE 802.11 networks. Processes outgoing frames by assigning sequence numbers and performing fragmentation based on the configured policy. Follows the MAC data plane architecture described in IEEE 802.11 standard to prepare frames for transmission.

OriginatorProtectionMechanism

simple module

Calculates the Duration/ID field for IEEE 802.11 frames to implement the Network Allocation Vector (NAV) mechanism for virtual carrier sensing. This module computes appropriate duration values for different frame types (RTS, data, management) based on IEEE 802.11 standard rules. For RTS frames, it calculates time needed for the complete RTS-CTS-DATA-ACK exchange.

OriginatorQosAckPolicy

simple module

Implements the default originator ACK policy for QoS stations.

OriginatorQosMacDataService

compound module

Implements the MAC data service for the originator (sender) side in IEEE 802.11 QoS networks. Extends the basic MAC data service with QoS capabilities including MSDU aggregation (A-MSDU) and MPDU aggregation (A-MPDU). Processes outgoing frames by assigning sequence numbers, performing aggregation, and fragmentation based on configured policies. Follows the MAC data plane architecture described in IEEE 802.11 standard.

OscillatorBase

simple module

Base module for oscillators.

OscillatorBasedClock

compound module

Oscillator-driven clock.

OsgEarthGround

compound module

Models a ground surface using OsgEarth’s elevation data. Provides methods to compute ground projections and normals based on real-world terrain information. Requires OsgEarth integration to be enabled during compilation and depends on a SceneOsgEarthVisualizer for accessing the map and a coordinate system for geographic conversions.

OsgGeographicCoordinateSystem

simple module

Provides an accurate geographic coordinate system using the built-in OSG API. This is mostly useful for local 3D visualizations created with osgEarth. Scene coordiantes are in meters relative to the scene origin.

OspfRouter

compound module

A router that uses the Open Shortest Path First version 2 (OSPFv2) routing protocol. It extends the standard Router module with OSPF functionality enabled.

Ospfv2

simple module

Implements the OSPFv2 routing protocol.

Ospfv3

compound module

Implements the OSPFv3 (Open Shortest Path First version 3) routing protocol for IPv4 and IPv6 networks. This module supports dynamic routing based on link state advertisements, allowing routers to discover and maintain routes to all destinations in an autonomous system.

Ospfv3Process

simple module

Represents a single OSPFv3 routing process within a router. Handles the core functionality of the OSPFv3 protocol including neighbor discovery, database synchronization, shortest path calculation, and route installation. Multiple processes can run simultaneously on a router, each with its own process ID and router ID.

Ospfv3Router

compound module

A router that uses the Open Shortest Path First version 3 (OSPFv3) routing protocol. It extends the standard Router module with OSPFv3 functionality and IPv6 support.

Ospfv3Splitter

simple module

(no description)

PacketBasedTokenGenerator

simple module

Generates tokens into the configured TokenBasedServer for each consumed packet.

PacketBuffer

simple module

Provides packet storage for sharing and optimizing storage space between multiple packet queues. When a packet buffer becomes overloaded, the packet dropping strategy can drop any number of packets from any number of connected packet queues.

PacketBufferBase

simple module

Base module for various packet buffer modules which maintains a few statistics.

PacketClassifier

simple module

Connects one packet producer to multiple packet consumers. It can be pushed with packets from the connected packet producer. When this happens, the classifier pushes the packet to one of its connected packet consumers based on the configured packet classifier function. The packet classifier function takes a packet and returns an integer which in turn is used for determining the output gate.

PacketClassifierBase

simple module

Base module for various packet classifier modules. Derived modules must implement a single packet classifier function which determines the index of the output gate for the next pushed packet.

PacketCloner

simple module

Connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. When this happens, a separate copy of the packet is pushed to each output gate.

PacketDelayer

simple module

Connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. When this happens, the packet is delayed and eventually pushed to the output. Note that the order of packets may change if the delay parameter is configured to be a distribution.

PacketDelayerBase

simple module

Base module for packet delayer implementations. Provides common functionality for delaying packets for a specified amount of time before forwarding them. Supports clock synchronization, scheduling priorities, and zero-delay handling. Adds delay-related tags to packets for tracking and analysis.

PacketDemultiplexer

simple module

Connects multiple packet collectors to one packet provider. When a packet is pulled by one of the connected packet collectors, then the demultiplexer simply pulls a packet from the connected packet provider.

PacketDeserializer

simple module

(no description)

PacketDestreamer

simple module

Takes packets streamed to its input and passes them to its output.

PacketDirectionReverser

simple module

Part of the layer 2 architecture. It turns an incoming packet into an outgoing packet simply by removing all attached indication tags and turning some of them into an attached request tag on the packet.

PacketDropCanvasVisualizer

simple module

Visualizes packet drops on a 2D canvas. It displays an icon for each packet drop in the network. See the documentation of the base module for what constitutes a packet drop.

PacketDropOsgVisualizer

simple module

Visualizes packet drops on a 3D osg scene. It displays an icon for each packet drop in the network. See the documentation of the base module for what constitutes a packet drop.

PacketDropVisualizer

compound module

Integrates canvas and osg packet drop visualizers into a single module.

PacketDropVisualizerBase

simple module

Base module for packet drop visualizer simple modules. It keeps track of dropped packets in a network. Packet drops are not displayed by default, see module parameters for how to enable the visualization. The actual visualization of packet drops is done in derived modules.

PacketDuplicator

simple module

Connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. When this happens, one or more copies of the packet are pushed to the output gate.

PacketDuplicatorBase

simple module

Base type for packet duplicator implementations. Provides common functionality for creating and forwarding multiple copies of incoming packets.

PacketEmitter

simple module

(no description)

PacketFilter

simple module

Filters packets that match the configured filter criteria. When the filter is pushed by a connected packet producer, it either pushes the packet to the connected packet consumer or drops it depending on the configured packet filter. Similarly, when the filter is pulled by a connected packet collector, it pulls packets from the connected packet provider until it finds one that matches the configured packet filter.

PacketFilterBase

simple module

Base module for various packet filter modules. Derived modules must implement a single packet matcher function which determines if a packet is to be passed through or filtered out.

PacketFlowBase

simple module

Base module for various packet flow modules. A packet flow module passes or streams all pushed or pulled packets after processing them from its input to its output.

PacketFlowCanvasVisualizer

simple module

(no description)

PacketFlowOsgVisualizer

simple module

(no description)

PacketFlowPcapFileRecorder

simple module

Records packets passing through the module to a PCAP or PCAPNG file. The file format, and fields like network type, time precision, and direction flag can be configured. It supports truncation of long packets. It can also be configured to flush the file after each write to ensure all packets are captured even in case of a crash.

PacketFlowVisualizer

compound module

(no description)

PacketGate

simple module

Allows or forbids packets to pass through depending on whether the gate is open or closed.

PacketGateBase

simple module

Base module for various packet gate modules.

PacketHistory

compound module

Connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. It keeps a copy of the last N packets pushed into its input. The packets are available in the runtime user interface (Qtenv) for inspection.

PacketLabeler

simple module

Attaches a LabelsTag to packets based on the configured filters. For each matching filter, a new label is attached.

PacketLabelerBase

simple module

Base module for various packet labeler modules.

PacketMarkerBase

simple module

Base module for various packet marker modules. Derived modules must implement a single markPacket() function which marks the individual packets by attaching tags.

PacketMeterBase

simple module

(no description)

PacketMeterBase

simple module

Base module for various packet meter modules. Derived modules must implement a single meterPacket() function which meters the flow of and attaches the required tags.

PacketMultiplexer

simple module

Connects multiple packet producers to one packet consumer. When a packet is pushed by one of the connected packet producers, then the multiplexer simply pushes the packet to the connected packet consumer.

PacketPolicing

compound module

Combines a packet meter and a packet filter into a packet policing module. The meter measures the packet flow that is passing through and attaches some meta information to the packets. The filter drops the packets that do not match the implemented filter criteria.

PacketProcessorBase

simple module

Base module for various packet processing modules which maintains a few statistics.

PacketPullerBase

simple module

Base module for various packet puller modules.

PacketPusherBase

simple module

Base module for various packet pusher modules.

PacketPushToSend

simple module

Acts as an adapter between the queueing framework and standard OMNeT++ modules. It receives packets through the push mechanism (as a passive packet sink) and forwards them using the standard OMNeT++ send operation. This module is useful for connecting queueing components to non-queueing modules that expect to receive packets via message sending.

PacketQueue

simple module

Implements a configurable packet queue, which is suitable for use in MAC protocols, traffic conditioning, and quality of services, among others. This is a passive component: packets are pushed into it on its input, and pulled from it on its output. This module can be used on its own, but it’s also often supplemented by additional queueing components such as servers, classifiers, schedulers, multiplexers, etc. This kind of composition allows to form a larger module which can act as a packet queue with more complex behavior.

PacketQueueBase

simple module

Base module for various packet queue modules which maintains a few statistics.

PacketReceiver

simple module

Receives signals from the physical medium (wire) as a whole. It also sends up packets to the upper layer as a whole.

PacketReceiverBase

simple module

(no description)

PacketScheduler

simple module

Connects one packet collector to multiple packet providers. When the packet collector pulls a pull packet from it, the scheduler pulls a packet from one of its packet providers based on the configured scheduler function. The packet scheduler function takes a list of packet providers and returns an integer which in turn is used for determining the input gate.

PacketSchedulerBase

simple module

Base module for various packet scheduler modules. Derived modules must implement a single packet scheduler function which determines the index of the input gate for the pulled packet.

PacketSendToPush

simple module

Adapter module that converts packet sending to packet pushing. When it receives a packet as a message through its input gate, it pushes the packet to the connected consumer module through its output gate. Serves as a bridge between different packet handling mechanisms in protocol stacks and packet processing pipelines.

PacketSerializer

simple module

Serializes packets flowing from its input to its output.

PacketServer

simple module

Repeatedly pulls packets from the connected packet provider and after a processing delay, it pushes the packet into the connected packet consumer. The processing delay is processingTime + packetLength / processingBitrate.

PacketServerBase

simple module

Base module for various packet server modules.

PacketShaper

compound module

Combines a packet queue and a packet gate into a packet shaper module. The queue stores the packets sorted according to its ordering and the gate decides when the first packet can be pulled from the queue.

PacketSinkBase

simple module

Base module for various packet sink modules.

PacketSourceBase

simple module

Base module for various packet source modules. Packets are created randomly with regard to packet length and packet data. The representation of packet data can also be configured.

PacketStreamer

simple module

Takes packets passed to its input and streams them to its output.

PacketTagger

simple module

Attaches various request tags to packets.

PacketTaggerBase

simple module

Base module for various packet tagger modules.

PacketTransmitter

simple module

Receives packets from the upper layer as a whole. It also sends signals to the transmission medium (wire) as a whole.

PacketTransmitterBase

simple module

(no description)

PaddingInserter

simple module

Adds padding to packets to ensure they meet a minimum length requirement or to round up to a specific length. This module calculates the required padding length based on the packet’s current length and the configured parameters. If padding is needed, it adds either a ByteCountChunk (for byte-aligned padding) or a BitCountChunk (for bit-level padding) at the specified position (front or back of the packet). This is commonly used in protocols that require packets to have a minimum size or to align to specific boundaries.

ParabolicAntenna

compound module

Defines an antenna based on a parabolic approximation of the main lobe radiation pattern. A similar model appears in

PassivePacketSink

simple module

A passive packet sink which is pushed with packets by the connected packet producer. All pushed packets are counted and deleted.

PassivePacketSinkBase

simple module

Base module for various active packet sink modules.

PassivePacketSource

simple module

A passive packet source which can be pulled for packets from the connected packet collector.

PassivePacketSourceBase

simple module

Base module for various active packet source modules.

PathVisualizerBase

simple module

Base module for path visualizer simple modules. It keeps track of active routes in a network. A route between two nodes is considered active if a packet is sent recently between their corresponding layers. Active routes are not displayed by default, see the module parameters for how to enable the visualization. The actual visualization of active routes is done in derived modules.

PcapFilePacketConsumer

simple module

A passive packet sink which is pushed with packets by the connected packet producer. All pushed packets are written to a PCAP file.

PcapFilePacketProducer

simple module

An active packet source which pushes packets into the connected packet consumer. All pushed packets are read from a PCAP file.

PcapRecorder

simple module

Records PCAP traces of frames sent/received by other modules within the same host. By default, it records frames sent/received by L2 modules of StandardHost and Router. The output filename is expected in the pcapFile parameter. The PcapRecorder module can also print tcpdump-like textual information on the log (EV); this functionality can be controlled by the verbose parameter.

Pcf

compound module

IEEE 802.11 Point Coordination Function

PcpClassifier

simple module

Classifies packets based on the attached PCP value [0, 7]. The PCP is determined by a PcpReq or a PcpInd or both. The output gate index is the ith value in the pcpToGateIndex parameter.

PcpTrafficClassClassifier

compound module

Classifies packets based on the attached PCP value [0, 7]. The PCP is determined by a PcpReq or a PcpInd or both. The output gate index is the value found in the mapping matrix using the PCP value as the row index and the number of connected consumers (traffic categories) as the column index.

PeerService

compound module

(no description)

PendingQueue

simple module

Implements a priority queue for IEEE 802.11 MAC frames. Uses a comparator to determine the order in which frames are processed. By default, prioritizes management frames over data frames, but can be configured to use different prioritization schemes such as management over multicast over unicast frames.

PeriodicGate

simple module

Allows or forbids packets to pass through depending on whether the gate is open or closed. The gate is open and closed according to the list of change times periodically.

PhysicalEnvironment

compound module

The propagation of communication signals, the movement of communicating agents, or battery exhaustion depends on the surrounding physical environment. For example, signals can be absorbed by objects, can pass through objects, can be refracted by surfaces, can be reflected from surfaces, etc.

PhysicalEnvironmentCanvasVisualizer

simple module

Visualizes a physical environment on a 2D canvas. It displays the physical objects present in the physical environment. Since this is not a 3D visualization, the physical objects are projected to a 2D plane according to the view angle of the corresponding SceneCanvasVisualizer. Apart from this, the visualizer considers all object properties that affect the appearance such as position, orientation, shape, colors, opacity, etc.

PhysicalEnvironmentOsgVisualizer

simple module

Visualizes a physical environment on a 3D osg scene. It displays the physical objects present in the physical environment. The visualizer considers all object properties that affect appearance such as position, orientation, shape, colors, opacity, etc.

PhysicalEnvironmentVisualizer

compound module

Integrates canvas and OSG physical environment visualizers into a single module.

PhysicalEnvironmentVisualizerBase

simple module

Base module for physical environment visualizer simple modules. It provides the physical objects through the physical environment module for derived modules. The actual visualization of physical objects is done in derived modules.

PhysicalLayerBase

simple module

Module base for different physical layers.

PhysicalLinkCanvasVisualizer

simple module

Visualizes physical layer links on a 2D canvas. It displays an arrow for each active link in the network. See the documentation of the base module for what constitutes an active link. The arrow points from the source towards the destination. If a link is used in both directions then there are separate arrows for them. Each arrow fades out over time as the link becomes inactive unless it is reinforced by another packet. The arrow automatically follows the movement of mobile nodes.

PhysicalLinkOsgVisualizer

simple module

Visualizes physical layer links on a 3D osg scene. It displays an arrow for each active link in the network. See the documentation of the base module for what constitutes an active link. The arrow points from the source towards the destination. If a link is used in both directions, then there are separate arrows for them. Each arrow fades out over time as the link becomes inactive unless it is reinforced by another packet. The arrow automatically follows the movement of mobile nodes.

PhysicalLinkVisualizer

compound module

Integrates canvas and osg data link visualizers into a single module.

PhysicalLinkVisualizerBase

simple module

Base module for physical layer link visualizer simple modules. It keeps track of active links in a network. A link between two network nodes is considered active if a packet is sent recently between their physical layers. Active links are not displayed by default, see the module parameters for how to enable the visualization. The actual visualization of active links is done in derived modules.

Pim

compound module

Implements the Protocol Independent Multicast (PIM) routing protocol for IP multicast. This module integrates both PIM-DM (Dense Mode) and PIM-SM (Sparse Mode) implementations, using a splitter to direct packets to the appropriate mode based on interface configuration. PIM builds distribution trees for efficient multicast data delivery across IP networks.

PimChecksumInsertionHook

simple module

Provides CRC (Cyclic Redundancy Check) insertion functionality for PIM packets. This hook ensures data integrity by calculating and inserting CRC values into outgoing PIM protocol messages before they are transmitted over the network.

PimDm

simple module

Implementation of PIM-DM protocol (RFC 3973).

PimInterfaceTable

simple module

The PimInterfaceTable module contains the PIM specific configuration parameters and state of the interfaces on which PIM is enabled.

PimNeighborTable

simple module

The PimNeighborTable module contains information about neighboring PIM routers.

PimSm

simple module

Implementation of PIM-SM protocol (RFC 4601).

PimSplitter

simple module

PimSplitter module dispatches PIM packets received from the network layer according to the PIM mode of the incoming interface. By using a PimSplitter it is possible to build nodes that operate in Dense Mode on some interfaces, and in Sparse Mode on others.

PingApp

simple module

Generates ping requests to several hosts (or rather, network interfaces), and calculates the packet loss and round trip times of the replies. It works exactly like ‘ping’ except that it is possible to specify several destination addresses as a space separated list of IP addresses or module names. (The L3AddressResolver class is used to resolve the address.) Specifying ‘*’ allows pinging ALL configured network interfaces in the whole simulation. This is useful to check if a host can reach ALL other hosts in the network (i.e. routing tables were set up properly).

Pmipv6

simple module

Implements Proxy Mobile IPv6 (RFC 5213): network-based mobility management. Unlike Mobile IPv6 (Mipv6), the mobile node runs no mobility software; the network handles mobility through two entities, both implemented by this module and selected by the isLocalMobilityAnchor / isMobileAccessGateway parameters:

Ppp

simple module

PPP implementation.

PppInterface

compound module

Implements a PPP network interface.

PreemptableStreamer

simple module

Takes packets passed to its input and streams them to its output.

PreemptingServer

simple module

(no description)

PriorityBuffer

simple module

This buffer drops packets among the connected packet queues based on their module ID.

PriorityClassifier

simple module

This classifier pushes packets into the first non-full among its connected packet consumers.

PriorityQueue

compound module

Implements a priority queue with multiple inner queues and an optional shared memory buffer.

PriorityScheduler

simple module

This scheduler pulls packets from the first non-empty among its connected packet providers.

PriorityShaper

compound module

Combines a classifier, a scheduler, and several traffic shapers into a single packet shaper. Packets are classified into one of the traffic shapers, and the scheduler prioritizes among them.

ProbabilisticBroadcast

simple module

Multi-hop ad-hoc data dissemination protocol based on probabilistic broadcast.

Probe

compound module

A minimal wireless network node that consists only of an antenna and mobility model. Designed for monitoring wireless signals without actively participating in network communication.

ProcessingDelayLayer

compound module

(no description)

PropagationBase

compound module

Serves as a base module for propagation models.

ProtocolChecker

simple module

(no description)

QosAckHandler

simple module

Manages acknowledgment handling for QoS frames in IEEE 802.11 networks. Tracks the status of transmitted frames, processes received acknowledgments (both normal ACKs and Block ACKs), and handles different acknowledgment policies. Supports QoS-specific features including Traffic Identifier (TID) based frame tracking and Block ACK mechanisms, enabling reliable frame delivery with Quality of Service guarantees.

QosClassifier

simple module

Classifies packets and assigns a User Priority based on the IP protocol or the transport protocol port numbers.

QosCtsPolicy

simple module

Implements the default CTS policy for QoS stations.

QosRateSelection

simple module

Implements rate selection for IEEE 802.11 QoS frames. Selects appropriate transmission rates for different frame types (data, management, control, response) based on configured parameters and dynamic conditions. Supports different bitrates for multicast frames, response frames (ACK, CTS, BlockAck), and can use a rate control module for dynamic rate adaptation.

QosRecoveryProcedure

simple module

Implements frame retransmission and recovery procedures for QoS frames in IEEE 802.11 networks. Manages retry counters for failed transmissions, adjusts contention window size, and enforces retry limits. Maintains separate short and long retry counters based on frame size relative to RTS threshold, and tracks per-TID frame status to support Quality of Service requirements.

QosRtsPolicy

simple module

Implements the default RTS policy for QoS stations.

QuadTreeNeighborCache

compound module

This neighbor cache model organizes radios in a two-dimensional quad tree (ignoring the Z axis) with a constant node size and updates periodically.

QueueBasedTokenGenerator

simple module

Generates tokens for a TokenBasedServer based on the observed state changes of a packet queue. Its primary purpose is to allow applications to produce traffic which completely utilizes a network interface. This is achieved by generating tokens whenever the observed packet queue becomes empty.

QueueCanvasVisualizer

simple module

Visualizes queues on a 2D canvas.

QueueFiller

compound module

Produces packets in order to prevent a queue from becoming empty.

QueueingPacketDelayer

compound module

Compound module that delays packets for a specified amount of time while preserving their order. Implements the IPacketDelayer interface using a queue and server architecture. The queue stores packets while they wait, and the server processes each packet with a processing time equal to the configured delay. Note that the actual packet delay will be the sum of the queueing time and the configured delay. Unlike the simple PacketDelayer module, this implementation always maintains packet order regardless of delay distribution.

QueueOsgVisualizer

simple module

Visualizes queues on a 3D osg scene.

QueueVisualizer

compound module

Integrates canvas and osg queue visualizers into a single module.

QueueVisualizerBase

simple module

Base module for queue visualizer simple modules.

Quic

simple module

Implements the QUIC protocol. For other implementations, see IQuic.

QuicClient

simple module

(no description)

QuicDiscardServer

simple module

A QUIC server that reads and discards all received data.

QuicOrderedReceiver

simple module

A QUIC server that reads and discards all received data.

QuicOrderedTrafficgen

simple module

(no description)

QuicTrafficgen

simple module

(no description)

QuicZeroRttClient

simple module

(no description)

Radio

compound module

The radio model describes the physical device that is capable of transmitting and receiving signals on the medium. It contains an antenna model, a transmitter model, a receiver model, and an energy consumer model.

RadioCanvasVisualizer

simple module

Visualizes radios on a 2D canvas.

RadioMedium

compound module

The medium model describes the shared physical medium where communication takes place. It keeps track of radios, noise sources, ongoing transmissions, background noise, and other ongoing noises. The medium computes when, where and how transmissions and noises arrive at receivers. It also efficiently provides the set of interfering transmissions and noises for the receivers.

RadioOsgVisualizer

simple module

Visualizes radios on a 3D osg scene.

RadioVisualizer

compound module

Integrates canvas and osg radio visualizers into a single module.

RadioVisualizerBase

simple module

Base module for radio visualizer simple modules.

RandomDriftOscillator

simple module

Oscillator with time-varying drift driven by a bounded random walk.

RandomQosClassifier

simple module

A QoS classifier that assigns a random User Priority. This is useful for testing purposes.

RandomWaypointMobility

simple module

Implements the Random Waypoint mobility model.

RateSelection

simple module

Implements the default rate selection algorithm. Rate selection decides what bit rate (or MCS) should be used for control frames, management frames and data frames.

RayleighFading

compound module

Models Rayleigh fading in wireless channels, which occurs when signals propagate through multipath environments with no dominant line-of-sight path. This model extends free space path loss with stochastic variations based on the Rayleigh distribution, making it suitable for dense urban and indoor environments. Represents a special case of Rician fading with no dominant signal component, providing realistic signal strength fluctuations for non-line-of-sight wireless communication scenarios.

ReceiveAtL3Address

simple module

(no description)

ReceiveAtMacAddress

simple module

(no description)

ReceiveAtPort

simple module

(no description)

ReceiverBase

compound module

(no description)

ReceiveWithAcknowledge

simple module

(no description)

ReceiveWithHopLimit

simple module

(no description)

ReceiveWithProtocol

simple module

(no description)

RecipientAckPolicy

simple module

Implements the default recipient ACK policy.

RecipientBlockAckAgreementHandler

simple module

Manages Block Acknowledgment (Block Ack) agreements for the recipient side in IEEE 802.11 networks. Processes ADDBA requests from originators, creates and maintains Block Ack agreements, handles timeouts, and generates appropriate responses. Implements the recipient side of the Block Ack mechanism as defined in the IEEE 802.11 standard for efficient acknowledgment of multiple frames.

RecipientBlockAckAgreementPolicy

simple module

Implements the default recipient block ACK agreement policy.

RecipientMacDataService

compound module

Implements the MAC data service for the recipient side in non-QoS IEEE 802.11 networks. Processes received frames by performing defragmentation and duplicate detection.

RecipientQosAckPolicy

simple module

Implements the default recipient ACK policy for QoS stations.

RecipientQosMacDataService

compound module

Implements the QoS MAC data service for the recipient side in IEEE 802.11 networks. Extends the basic recipient MAC data service with QoS capabilities including A-MPDU deaggregation, A-MSDU deaggregation, and block ACK reordering. Processes received frames according to the MAC data plane architecture described in the IEEE 802.11 standard.

RectangleMobility

simple module

Moves the node around a rectangle.

RedDropper

simple module

Implements Random Early Detection (RED).

RedDropperQueue

compound module

Combines a packet queue with random early detection (RED) dropper.

ReferenceCommunicationCache

compound module

This communication cache model allows validation of other implementations. It can be used to provide a reference for communication logs, simulation fingerprints, and statistical results that can be compared with the results of other communication cache implementations.

RelayInterfaceLearner

simple module

Extracts the source MAC address of the packet passing through and stores the mapping from this MAC address to the incoming network interface in the MAC address table (forwarding information database).

RelayInterfaceSelector

simple module

Selects the outgoing interface for the packet passing through from the MAC address table (forwarding information database) based on the destination MAC address. The selected interface is attached to the packet in an InterfaceReq. The packet may be duplicated if multiple interfaces are found.

Reordering

simple module

Reorders out-of-sequence packets based on their sequence numbers. Buffers packets until they can be delivered in the correct order, ensuring sequential processing of packets despite network reordering. Note that this module does not contain a mechanism to recover from packet losses, i.e. a lost packet will cause subsequent packets will be buffered in this module indefinitely.

RequestConsumer

compound module

Processes incoming packets one by one in the order they arrive. First, it classifies a packet according to the configured classifier function, then it generates tokens for the selected category in the configured response producer.

Resending

simple module

(no description)

ResidenceTimeMeasurer

simple module

Measures the residence time of packet data in network nodes. The measurement is done by tracking every bit individually using their unique identity. For each bit, the measurement starts when the incoming enclosing packet reception ends (or starts) in the network node. Similarly, for each bit, the measurement ends when the outgoing enclosing packet transmission starts (or ends) in the network node.

ResponseProducer

compound module

Generates several different streams of packets, one after the other. For each traffic category, the packets are produced by a separate token-based server. The traffic stream can be started by adding tokens to the corresponding server module. The packet data, packet length, and timing distributions can be configured in the corresponding packet provider.

RicianFading

compound module

Models Rician fading in wireless channels, which occurs when a signal reaches the receiver through both direct line-of-sight and multipath propagation. The k parameter (in dB) controls the ratio between the direct and scattered signal components, with higher values indicating stronger line-of-sight conditions. This model extends free space path loss with stochastic variations based on the Rician distribution, making it suitable for indoor and urban environments where a dominant signal path exists alongside weaker multipath components.

Rip

simple module

Routing Information Protocol.

RipRouter

compound module

A router that uses the Routing Information Protocol (RIP) version 2. Extends the standard Router module with RIP functionality enabled.

Router

compound module

A network router device with support for multiple routing protocols and network interfaces. Provides the foundation for simulating various types of routers in both wired and wireless networks.

Router6

compound module

An IPv6 router for next-generation Internet Protocol networks. It extends the standard Router module by configuring it to use IPv6 as the network layer protocol while disabling IPv4 by default.

RoutingTableCanvasVisualizer

simple module

Visualizes routes in the routing tables on a 2D canvas. It displays an arrow for each route in the routing tables of the network. The arrow points from the node containing the routing table towards the gateway. The arrow automatically follows the movement of mobile nodes.

RoutingTableOsgVisualizer

simple module

Visualizes routes in the routing tables on a 3D osg scene. It displays an arrow for each route in the routing tables of the network. The arrow points from the node containing the routing table towards the gateway. The arrow automatically follows the movement of mobile nodes.

RoutingTableRecorder

simple module

Records changes in the routing tables (Ipv4RoutingTable) and interface tables (InterfaceTable) of all hosts and routers. The filename has to be specified in the routinglog-file configuration option that this module registers.

RoutingTableVisualizer

compound module

Integrates canvas and osg routing table visualizers into a single module.

RoutingTableVisualizerBase

simple module

Base module for routing table visualizer simple modules. It displays routes in the routing tables of the network. Routes present are not displayed by default, see the module parameters for how to enable the visualization. The actual visualization of routes is done in derived modules.

Rstp

simple module

Implements the Rapid Spanning Tree Protocol (IEEE 802.D-2004) for IEC 48-bit MAC addresses. It is a complete implementation except it doesn’t fall back to STP when peers don’t support RSTP.

RsvpClassifier

simple module

Table-based ingress classifier.

RsvpMplsRouter

compound module

An RSVP-TE capable MPLS router.

RsvpTe

simple module

Implements RSVP-TE, a signalling protocol for MPLS. The module processes RSVP-TE messages, installs labels and does the reservation along LSP paths.

Rtcp

simple module

RTCP end system.

Rtp

simple module

The Rtp module is the center of the Rtp layer of an endsystem. It communicates with the application, and sends and receives Rtp data packets.

RtpApplication

simple module

An application which uses RTP. It acts as a sender if the parameter fileName is set, and as a receiver if the parameter is empty.

RtpAvProfile

simple module

Audio-Video RTP Profile. RtpAvProfile is internal to the Rtp module; instances are created and connected dynamically by Rtp.

RTPAVProfilePayload10Receiver

simple module

(no description)

RTPAVProfilePayload10Sender

simple module

(no description)

RtpAvProfilePayload32Receiver

simple module

(no description)

RtpAvProfilePayload32Sender

simple module

(no description)

RTPAVProfileSampleBasedAudioReceiver

simple module

(no description)

RTPAVProfileSampleBasedAudioSender

simple module

(no description)

RtpHost

compound module

A network node with Real-time Transport Protocol (RTP) support. Extends StandardHost by adding RTP-specific components for real-time multimedia streaming applications.

RtpPayloadReceiver

simple module

(no description)

RtpPayloadSender

simple module

(no description)

RtpProfile

simple module

Generic RTP Profile. RtpProfile is internal to the Rtp module; instances are created and connected dynamically by Rtp.

RtsPolicy

simple module

Implements the default RTS policy.

Rx

simple module

Responsible for checking frames received over the radio for errors, for managing the NAV, and for notifying other processes about the channel state (free or busy).

SatelliteMobility

simple module

Mobility model that propagates a satellite orbit from a TLE (two-line element) set using the embedded SGP4 implementation, and reports the position in the simulation scene through the geographic coordinate system referenced by coordinateSystemModule (typically a Wgs84EcefGeographicCoordinateSystem); when coordinateSystemModule is empty, the position is reported in raw geocentric ECEF coordinates.

ScalarMediumAnalogModel

compound module

This analog model computes with scalar analog power representation. In other words, the signal power does not change over time or frequency, except for the boundaries of the signal.

ScalarRadioMedium

compound module

Radio medium model that uses scalar representation for signal power. Provides a simpler and more computationally efficient alternative to dimensional models by representing signals as single scalar values rather than as functions of time and frequency. Suitable for simulations where detailed physical layer behavior is not required.

ScalarReceiverAnalogModel

simple module

(no description)

ScalarTransmitterAnalogModel

compound module

(no description)

ScenarioManager

simple module

ScenarioManager is for setting up and controlling simulation experiments. You can schedule certain events to take place at specified times, like changing a parameter value, changing the bit error rate of a connection, removing or adding connections, removing or adding routes in a routing table, etc, so that you can observe the transient behavior.

SceneCanvasVisualizer

simple module

Visualizes the scene on a 2D canvas. It provides the 3D coordinate system’s 2D orthographic projection for other visualizers. This is used to get a consistent visualization across all visualizers. It can also display the coordinate system axes.

SceneOsgEarthVisualizer

simple module

Visualizes the scene using osgEarth. It displays a 3D osg map of some part of the earth as an integrated part of the 3D visualization of the simulation. The map is loaded from an external resource specified by the mapFile parameter. The scene is placed on the map according to the coordinate system module.

SceneOsgVisualizer

simple module

Visualizes the scene using osg. It displays the scene and the coordinate system axes. It sets the initial viewpoint of the 3D scene based on the bounding sphere of all network nodes. The viewpoint is located opposite to the coordinate system origin with respect to the sphere, and it faces towards the center of the sphere.

SceneOsgVisualizerBase

simple module

Base module for scene visualizer simple modules on a 3D osg scene. It displays the scene either as a filled rectangle or as an image.

SceneVisualizer

compound module

Integrates canvas and osg scene visualizers into a single module.

SceneVisualizerBase

simple module

Base module for scene visualizer simple modules. It determines the bounds of the scene, which is the minimum area where the whole simulation fits in. The scene encloses all physical objects and the constraint area of all mobile nodes. The visualizer also provides a timer that can be used to periodically update the user interface independently of the underlying simulation. The actual visualization of the scene is done in derived modules.

Sctp

simple module

Implements the SCTP protocol.

SctpAssociation

simple module

Represents a single SCTP association in the SCTP protocol implementation. Implements the SCTP state machine and handles association establishment, data transfer, flow control, congestion control, and association termination. Provides extensive statistics collection for various SCTP metrics.

SctpChecksumInsertion

simple module

Inserts SCTP checksum into packets.

SctpClient

simple module

Client app for SCTP-based request-reply protocols. Handles a single session (and SCTP connection) at a time.

SctpNatHook

simple module

SCTP NAT hook module.

SctpNatPeer

simple module

Implements a peer application for SCTP NAT traversal. Supports both standard and rendezvous connection establishment methods to traverse NAT devices. Exchanges NAT traversal information with other peers and handles data transfer with configurable parameters. Supports multi-homing with multiple addresses.

SctpNatRouter

compound module

SCTP NAT router

SctpNatServer

simple module

Implements a rendezvous server for SCTP NAT traversal. Facilitates communication between peers behind NAT devices by maintaining connection information and exchanging address details between peers. Handles multi-homed connections and processes address addition notifications. Enables direct peer-to-peer communication by providing each peer with the necessary connection details of the other peer.

SctpNatTable

simple module

(no description)

SctpPeer

simple module

Implements a versatile SCTP application that can function as both client and server simultaneously. Supports sending and receiving data with configurable parameters including multi-streaming, PR-SCTP, and stream reset capabilities. Provides options for echo functionality, ordered/unordered delivery, and configurable think times between transmissions.

SctpServer

simple module

Server app for SCTP-based request-reply protocols. Handles a single session (and SCTP connection) at a time.

SctpUdpHook

simple module

SCTP UDP hook module.

SecurityAssociationDatabase

simple module

Represents the IPsec Security Association Database (SAD). The database is filled by the IPsec module.

SecurityPolicyDatabase

simple module

Represents the IPsec Security Policy Database (SPD). The database is filled by the IPsec module.

SelectivityService

compound module

(no description)

SendToL3Address

simple module

(no description)

SendToMacAddress

simple module

(no description)

SendToPort

simple module

Adds a destination port header to packets. The header contains the configured destination port and is used by the corresponding ReceiveAtPort module to filter packets.

SendWithAcknowledge

simple module

(no description)

SendWithHopLimit

simple module

(no description)

SendWithProtocol

simple module

(no description)

SensorNode

compound module

A wireless sensor network (WSN) node with low-power communication capabilities. Provides a specialized node type for simulating resource-constrained devices commonly used in environmental monitoring, industrial automation, and IoT applications.

SensorStateBasedCcEnergyConsumer

simple module

This current consumption module extends StateBasedCcEnergyConsumer and provides default values suitable for use in low-power wireless sensor nodes. Values are roughly based on the datasheet for the CC2500 RF transceiver. Used for accurate battery life simulation in wireless sensor networks.

SensorStateBasedEpEnergyConsumer

simple module

This energy consumption module extends StateBasedEpEnergyConsumer and provides default values suitable for use in low-power wireless sensor nodes. Values are roughly based on the datasheet for the CC2500 RF transceiver. Used for accurate battery life simulation in wireless sensor networks.

SequenceNumbering

simple module

Adds sequence numbers to outgoing packets. Maintains an internal counter to assign unique, sequential numbers to packets, enabling downstream modules to detect duplicates and reorder packets.

SettableClock

compound module

This module represents a settable (step-able) clock with adjustable oscillator compensation.

ShortcutInterface

compound module

Implements a simplistic network interface that uses a shortcut to the receiver at the MAC layer.

ShortcutMac

simple module

Implements a simple shortcut to peer MAC protocol that completely bypasses the physical layer. Packets received from the upper layer protocols are never lost. The MAC protocol directly sends packets to the destination MAC protocol without any physical layer processing. Physical layer overhead is simply simulated by overhead bits, overhead transmission duration and a propagation delay.

ShortcutRadio

simple module

Implements a simple shortcut to peer radio protocol that completely bypasses the physical medium. This radio module directly sends packets to the other radio module without any physical layer processing in the radio medium. Packets received from the upper layer protocols may be lost. Physical layer overhead is simply simulated by physical header bits, preamble transmission duration, and a propagation delay.

SignalBasedTokenGenerator

simple module

Generates tokens for a TokenBasedServer based on received signals.

SignalSource

simple module

Emits double-valued signals in the specified interval. May be used for testing indicator figures.

SimpleCcBattery

simple module

This battery model maintains a residual charge capacity by integrating the difference between the total consumed current and the total generated current over time. This model uses a charge-independent ideal voltage source and a charge-independent internal resistance. It initiates node crash when the residual charge capacity reaches zero. See the base module for signals and statistics.

SimpleClockSynchronizer

simple module

Periodically synchronizes the slave clock to the master clock with the specified accuracy. The synchronization happens directly using C++ method calls and without any packet exchange. This is primarily useful when the overhead of the time synchronization protocol messages can be safely ignored.

SimpleEpEnergyManagement

simple module

This energy management model estimates the residual energy capacity of the energy source model by actually querying it. It is only useful when the estimation process is not important. This model initiates node shutdown when the residual capacity decreases below a threshold, and it also initiates node start when the residual capacity increases above another threshold.

SimpleEpEnergyStorage

simple module

This energy storage model maintains a residual energy capacity by integrating the difference between the total consumed power and the total generated power over time. It initiates node crash when the residual energy capacity reaches zero. This model does not have various properties such as self-discharge, memory effect, overcharging, temperature-dependence, etc. that real-world batteries have. See the base module for signals and statistics.

SimpleGeographicCoordinateSystem

simple module

Provides a very simple and less accurate geographic coordinate system. The Earth is modeled as a sphere so you may get inaccuracies if you compare it to other wgs84 coordinates. Scene coordinates are in meter and are relative to the scene anchor point. It doesn’t support rotation so the X axis always points east and the Y axis always points south (to have the same handedness as the scene coordinate system)!

SimpleIeee8021qFilter

compound module

Implements a simplified version of the IEEE 802.1Q per-stream filtering and policing. Each filtered stream has its own path where metering and filtering happens independently of any other stream.

SimpleModule

simple module

Base module for all INET simple modules.

SimpleNetworkLayer

compound module

Provides a simple network layer.

SimpleVoipReceiver

simple module

Receives a VoIP stream generated by a SimpleVoipSender, and records statistics. The most important statistic is MOS (Mean Opinion Score, a value between 1 and 5, representing a human user’s view of the voice quality), computed using the E Model defined in the ITU-T G.107 standard. The parameters starting with “emodel_” correspond to the parameters of the E model.

SimpleVoipSender

simple module

Implements a simple VoIP source. It is a constant bitrate source, with talk spurt support added. Packets do not contain actual voice data. Connection setup/teardown is not modeled. The peer must be a SimpleVoipReceiver.

SingleProtectionMechanism

simple module

Implements the single protection mechanism for IEEE 802.11 networks as defined in the standard section 8.2.5.2. This module calculates the Duration/ID field values for different frame types (RTS, CTS, BlockAckReq, BlockAck, data, management) to properly set the Network Allocation Vector (NAV) in receiving stations.

SingleRateThreeColorClassifier

simple module

This packet classifier module classifies packets using two token buckets. Each packet is classified depending on which token bucket is the first one that contains the required number of tokens for the packet.

SingleRateThreeColorMeter

simple module

Implements a Single Rate Three Color Meter (RFC 2697).

SingleRateThreeColorMeter

simple module

This packet meter module measures the packet flow that is passing through using two token buckets. The meter attaches a LabelsTag to each packet with either green, yellow, or red color depending on which token bucket contains the required number of tokens for the packet.

SingleRateTwoColorClassifier

simple module

This packet classifier module classifies packets using one token bucket. Each packet is classified depending on whether the token bucket contains the required number of tokens for the packet.

SingleRateTwoColorMeter

simple module

This packet meter module measures the packet flow that is passing through using one token bucket. The meter attaches a LabelsTag to each packet with either a green or red color depending on whether the token bucket contains the required number of tokens for the packet.

Sink

simple module

(no description)

SinkApp

compound module

Implements a generic sink application.

SlidingWindowRateMeter

simple module

Attaches a RateTag to each packet specifying the data rate and packet rate of the received stream of packets. The algorithm takes packets into account only in the given time window.

SnirReceiverBase

compound module

Serves as a base module for SNIR receiver models.

SourceApp

compound module

Implements a generic source application.

StandardHost

compound module

A comprehensive model of an IPv4/IPv6 host that provides a complete network stack with configurable application, transport, network, and link layers. It supports multiple network interfaces, protocols, and applications that can be customized through parameters.

StandardHost6

compound module

An IPv6 host with TCP, UDP, and SCTP transport layer protocols. It extends the standard host model by configuring it to use IPv6 as the network layer protocol while disabling IPv4 by default.

StateBasedCcEnergyConsumer

simple module

Provides a radio energy consumer model. The current consumption is determined by the radio mode, the transmitter state, and the receiver state using constant parameters.

StateBasedEpEnergyConsumer

simple module

Provides a radio power consumer model. The power consumption is determined by the radio mode, the transmitter state, and the receiver state using constant parameters.

StaticConcentricMobility

simple module

Places all hosts on concentric circles

StaticGridMobility

simple module

Places all hosts in a rectangular grid. The usable area (constraint area minus margins on each side) is split into smaller cells (with a separationX, separationY size). Hosts are placed in the middle of each cell. By default, the number of columns and rows follows the aspect ratio of the usable area. By default, stepX and stepY are calculated based on the number of columns and rows.

StaticLinearMobility

simple module

Mobility model which places all hosts at constant distances in a line with an orientation

StationaryMobility

simple module

Mobility module for stationary nodes.

StatisticalRateLimiter

simple module

Limits the datarate or the packetrate of a stream of packets based on the RateTag attached to the packets.

StatisticCanvasVisualizer

simple module

Visualizes statistics on a 2D canvas. See the base module for how to configure which statistic is displayed. If configured properly, then it displays the last value of the statistic to the right of the visualization of the corresponding network node. The value and the unit are wrapped in a filled white rectangle.

StatisticOsgVisualizer

simple module

Visualizes a statistic on a 3D osg scene. See the base module for how to configure which statistic is displayed. If configured properly, then it displays the last value of the statistic just above the visualization of the corresponding network node. The value and the unit are wrapped in a filled rectangle.

StatisticVisualizer

compound module

Integrates canvas and osg statistic visualizers into a single module.

StatisticVisualizerBase

simple module

Base module for statistic visualizer simple modules. It keeps track of the last value of a statistic for multiple network nodes. The actual visualization of statistic values is done in derived modules. It subscribes for the signal determined by the signalName parameter at the module specified by the visualizationSubjectModule parameter. If the visualizer receives such a signal, it checks if the source matches the sourceFilter parameter. If the signal passes the check, it determines the last value of the statistic specified by the statisticName parameter.

StepClockServo

compound module

Step (bang-bang) clock servo.

StochasticErrorModel

compound module

This error model provides parameters to specify the constant packet error rate, bit error rate, and symbol error rate for receptions independent of any interfering transmission or noise.

StochasticLayeredErrorModel

compound module

(no description)

Stp

simple module

The Spanning Tree Protocol (STP) is a network protocol that ensures a loop-free topology for any bridged Ethernet local area network. The basic function of STP is to prevent bridge loops and the broadcast radiation that results from them. Spanning tree also allows a network design to include spare (redundant) links to provide automatic backup paths if an active link fails, without the danger of bridge loops or the need for manually enabling/disabling these backup links.

StpTester

simple module

Network tester module. Shows if a network topology is loop-free, all nodes are connected, or it has a tree topology.

StreamClassifier

simple module

Classifies packets based on the stream they are part of. The stream is determined by a StreamReq or a StreamInd or both.

StreamCoderLayer

compound module

Combines a stream decoder and a stream encoder into a layer. For incoming packets, the stream decoder determines the stream of the packet. For outgoing packets, the stream encoder determines the VLAN id, etc. of the packet.

StreamDecoder

simple module

Decodes the stream of a packet by matching various tags on the packet against the mapping. It can check for network interface, source address, destination address, VLAN id, and PCP. If a match was found, then the stream is attached to the packet in a StreamInd tag.

StreamEncoder

simple module

Encodes the stream name of a packet into several request tags attached to the packet. It looks up the stream in the mapping and attaches the necessary request tags to the packet based on the specified parameters.

StreamFilter

simple module

Implements a packet filter using solely the stream name. The stream name must match the filter criteria in order for the packet to pass through the filter.

StreamFilterLayer

compound module

Combines two packet filters into a protocol layer so that it can be used in a layered compound module. There are separate submodules for ingress and egress traffic, but in most cases only the ingress filter is used.

StreamIdentifier

simple module

Identifies the stream of a packet using packet filter expressions. It can check for arbitrary packet data and assign an if a match was found then the stream is attached to the packet in the StreamReq tag.

StreamIdentifierLayer

compound module

Wraps a stream identifier into a protocol layer so that it can be used in a layered compound module.

StreamingReceiverBase

simple module

(no description)

StreamingTransmitter

simple module

Receives packets from the upper layer as a whole. It sends signals to the transmission medium (wire) as a stream, it sends the signal start and signal end separately.

StreamingTransmitterBase

simple module

(no description)

StreamMerger

simple module

Merges the packets of the same stream by removing duplicates. In addition, it also replaces the stream name on the packet based on the mapping parameter. For merging, it maintains a separate finite buffer per stream with the last seen sequence numbers.

StreamPolicyLayer

compound module

(no description)

StreamRedundancyConfigurationCanvasVisualizer

simple module

Visualizes stream redundancy configurations on a canvas by displaying polyline arrows representing redundant paths for streams. Uses information from the StreamRedundancyConfigurator module to identify and display the network paths used for redundant stream transmission in Time-Sensitive Networking (TSN) applications.

StreamRedundancyConfigurator

simple module

Provides Time-Sensitive Networking (TSN) static stream redundancy configuration. The module automatically configures all the necessary modules related to stream splitting, stream merging and stream filtering in all network nodes. The configuration parameter specifies the streams with a set of path fragments.

StreamRelayLayer

compound module

Combines a stream merger and a stream splitter module into a stream relay layer. For incoming packets, the identified streams are merged by the stream merger. For outgoing packets, the requested streams are split by the stream splitter.

StreamSplitter

simple module

Duplicates incoming packets based on the stream they are part of. The stream is determined by the StreamReq tag that is attached to the packet. The number of outgoing packets is determined by the mapping parameter. Each outgoing packet will have an attached StreamReq with the tag name taken from the mapping parameter.

StreamThroughReceiver

simple module

Receives signals from the transmission medium (wire) as a stream and also sends packets to the upper layer as a stream. The stream start and stream end are sent separately allowing the preemption of signals.

StreamThroughTransmitter

simple module

Receives packets from the upper layer as a stream and also sends signals to the transmission medium as a stream. The stream start and stream end are sent separately allowing the preemption of signals.

SubpacketLengthHeaderBasedAggregator

compound module

Aggregates multiple packets into a single packet by inserting a length field header before each subpacket. This module collects packets according to the aggregation policy and combines them into a single aggregated packet. Each subpacket is preceded by a SubpacketLengthHeader that contains the length of the following subpacket, allowing the receiver to extract individual packets.

SubpacketLengthHeaderBasedDeaggregator

simple module

(no description)

SuiPathLoss

compound module

Implements the Stanford University Interim (SUI) path loss model, an empirical model used to predict radio signal attenuation over various terrain types. Path loss is calculated based on distance, frequency, and antenna heights, with parameter sets defined for different environments.

SuperpositioningMobility

compound module

Combines the trajectory of several other mobility modules using superposition. In other words, the position, velocity, and acceleration are the sum of the respective quantities of all submodules.

Tcp

simple module

Implements the TCP protocol. For other implementations, see ITcp.

TcpBasicClientApp

simple module

Client for a generic request-response style protocol over TCP, to be used with TcpGenericServerApp.

TcpChecksumInsertionHook

simple module

(no description)

TcpClientApp

compound module

A generic, very modular TCP client application, similar to TcpServerApp. The traffic source and traffic sink modules can be built from queueing model elements.

TcpClientSocketIo

simple module

Opens a TCP connection to a given address and port and lets the module connected to its trafficIn and trafficOut gates send and receive data over that connection. When data is received on the trafficIn gate, it is forwarded on the TCP connection via the socketOut gate, and vice versa. This module simplifies the task of data exchange over a TCP connection. The TCP connection is opened when the module first receives data on its trafficIn gate.

TcpConnection

simple module

Represents a single TCP connection in the TCP protocol implementation. Implements the TCP state machine and handles connection establishment, data transfer, flow control, congestion control, and connection termination. Provides extensive statistics collection for various TCP metrics including window sizes, sequence numbers, RTT measurements, and congestion parameters.

TcpEchoApp

simple module

Accepts any number of incoming TCP connections, and sends back the data that arrives on them. The echoFactor parameter controls the amount of data to be sent back. If echoFactor==1, the received data is echoed back without change. For any other positive value of echoFactor, a message of appropriate length (datalen*``echoFactor``) without content (see ByteCountChunk C++ class) is sent back.

TcpEchoAppThread

simple module

Thread for TcpEchoApp

TcpGenericServerApp

simple module

Generic server application for modeling TCP-based request-reply style protocols or applications.

TcpLwip

simple module

TCP model based on the LWIP 1.3.2 project. The original LWIP is available on this page.

TcpLwipConnection

simple module

Represents a single TCP connection in the LwIP (Lightweight IP) TCP stack implementation. Manages connection state, processes application commands, handles data transfer through send and receive queues, and provides statistics about connection parameters such as window sizes and sequence numbers.

TcpRequestResponseApp

compound module

A generic request/response based server application. For each request it receives, it generates a different traffic based on the data the request contains. The client application can be any source that is capable of generating packets with different data. The first byte of the packet data determines the response traffic, which can be configured to produce complex streams of packets with various data and timing distributions.

TcpServerApp

compound module

A generic, modular TCP server application. It is composed of a listener module that listens on a port to accept TCP connections, and for each incoming TCP connection it dynamically creates a new module in the connection[] submodule vector to handle the connection.

TcpServerConnection

compound module

This is a pre-assembled module type to be used in TcpServerApp. One instance of this module type is launched by TcpServerListener for each incoming connection. It is composed of a traffic source, a traffic sink, a socket I/O and other modules, and most of the module types are parametric. The traffic source and traffic sink modules can be built from queueing model elements.

TcpServerHostApp

simple module

Hosts TCP-based server applications. It dynamically creates and launches a new “thread” object for each incoming connection.

TcpServerListener

simple module

Opens a TCP socket to listen on a port, accepts incoming connections, and dynamically creates modules to handle them. The type of modules to be created can be specified in a parameter. The new modules will be appended to the connection[] submodule array of the parent of this module, i.e., they will be siblings of this module.

TcpServerSocketIo

simple module

Manages an established TCP connection. It handles data transmission to and from a module connected via the trafficIn and trafficOut gates. When data is received on the trafficIn gate, it is forwarded on the TCP connection via the socketOut gate, and vice versa. This module simplifies the task of data exchange over an established TCP connection.

TcpSessionApp

simple module

Single-connection TCP application: it opens a connection, sends the given number of bytes, and closes. Sending may be one-off, or may be controlled by a “script” which is a series of (time, number of bytes) pairs. May act either as client or as server. Compatible with both IPv4 (Ipv4) and IPv6 (Ipv6).

TcpSinkApp

compound module

Accepts any number of incoming TCP connections, and discards whatever arrives on them. Compatible with both Ipv4 and Ipv6.

TcpSinkAppThread

simple module

Handles a single incoming TCP connection for TcpSinkApp.

TcpSpoof

simple module

Sends fabricated TCP packets. This is a base implementation, you’ll probably have to customize it in C++ according to what you want to send and when you want to send it.

Ted

simple module

Traffic Engineering Database. Stores network topology with detailed link information, including total and reserved bandwidths.

TelnetApp

simple module

Models Telnet sessions with a specific user behavior. The server app should be TcpGenericServerApp. Compatible with both Ipv4 and Ipv6.

TelnetClientApp

compound module

This client application contains a configurable pre-composed telnet traffic source and traffic sink.

TelnetServerApp

compound module

This server application accepts and creates telnet server connections.

TelnetServerConnection

compound module

Contains a configurable pre-composed telnet traffic source and traffic sink as part of a telnet server application.

ThruputMeter

simple module

Thruput measurement utility module.

TimeAwareShaper

compound module

Implements a time-aware shaper using a gate submodule that opens and closes according to a time-based schedule.

TimeBasedTokenGenerator

simple module

Generates tokens for a TokenBasedServer repeatedly.

TokenBasedServer

simple module

Repeatedly pulls packets from the connected packet provider and it pushes them into the connected packet consumer. The packets are processed in zero simulation time, and the process continues until the available number of tokens is not sufficient anymore.

TokenBucket

compound module

Implements a parameterizable token bucket algorithm.

TokenBucketClassifier

simple module

Classifies packets to the first output gate if the bucket contains enough number of tokens for the packet passing through, otherwise the second output gate is used. The amount of required tokens is equal to the packet length in bits and is subtracted from the number of stored tokens. New tokens are generated with the provided constant rate and they may also be added by other modules.

TokenBucketMeter

simple module

Simple token bucket meter.

TokenBucketMeter

simple module

Labels each packet if the token bucket contains enough tokens for the packet that is passing through. The amount of required tokens is equal to the packet length in bits and is subtracted from the number of stored tokens. New tokens are generated with the provided constant rate and they may also be added by other modules.

TokenGeneratorBase

simple module

Base module for various token generator modules.

TracingObstacleLossBase

compound module

Serves as a base module for tracing obstacle loss models.

TracingObstacleLossCanvasVisualizer

simple module

Visualizes obstacle loss on a 2D canvas. It displays a line at the intersections of signal propagation paths with physical objects, and normal vectors of physical object faces at intersection points.

TracingObstacleLossOsgVisualizer

simple module

Visualizes obstacle loss on a 3D osg scene. It displays a line at the intersections of signal propagation paths with physical objects, and normal vectors of physical object faces at intersection points.

TracingObstacleLossVisualizer

compound module

Integrates canvas and osg obstacle loss visualizers into a single module.

TracingObstacleLossVisualizerBase

simple module

Base module for tracing obstacle loss visualizer simple modules. It subscribes to the obstacle loss module for physical object penetrated signals. The actual visualization of obstacle loss is done in derived modules.

TractorMobility

simple module

Moves a tractor through a field with a certain number of rows. Since the tractor also moves around the field, the tractor travels the number of rows PLUS one row. Consider the following piece of ascii-art for rows=2.

TrafficConditionerLayer

compound module

(no description)

TrafficgenCompound

compound module

(no description)

TrafficgenSimple

simple module

(no description)

TransmitterBase

compound module

(no description)

TransportConnectionCanvasVisualizer

simple module

Visualizes transport layer connections on a 2D canvas. It displays a pair of colored icons for each connection at the network nodes where the connection starts or ends.

TransportConnectionOsgVisualizer

simple module

Visualizes transport layer connections in a 3D osg scene. It displays a pair of colored icons for each connection at the network nodes where the connection starts or ends.

TransportConnectionVisualizer

compound module

Integrates canvas and osg transport connection visualizers into a single module.

TransportConnectionVisualizerBase

simple module

Base module for transport connection visualizer simple modules. It keeps track of open transport connections in a network. Open connections are not displayed by default, see the module parameters for how to enable the visualization. The actual visualization of transport connections is done in derived modules.

TransportLayerNodeBase

compound module

An extension of the network layer node base with transport layer protocols. Provides support for UDP, TCP, and SCTP, enabling end-to-end communication services for applications.

TransportProtocolBase

simple module

Module base for different transport protocols.

TransportRouteCanvasVisualizer

simple module

Visualizes transport layer routes on a 2D canvas. It displays a polyline arrow for each active route in the network. See the documentation of the base module for what constitutes an active route. The arrow points from the source towards the destination. If a route is used in both directions then there are separate paths for them. Each polyline fades out over time as the route becomes inactive unless it is reinforced by another packet. The polyline automatically follows the movement of mobile nodes.

TransportRouteOsgVisualizer

simple module

Visualizes transport layer routes on a 3D osg scene. It displays a polyline arrow for each active route in the network. See the documentation of the base module for what constitutes an active route. The arrow points from the source towards the destination. If a route is used in both directions then there are separate paths for them. Each polyline fades out over time as the route becomes inactive unless it is reinforced by another packet. The polyline automatically follows the movement of mobile nodes.

TransportRouteVisualizer

compound module

Integrates canvas and osg transport route visualizers into a single module.

TreeVisualizerBase

simple module

Base module for tree visualizer modules that display network tree structures such as multicast routing trees, spanning trees, or other hierarchical network relationships. Visualizes tree structures as a set of connected arrows between network nodes, with configurable appearance properties for the connecting lines.

TsnClock

compound module

A specialized network device that serves as the master clock for Time-Sensitive Networking (TSN) simulations.

TsnDevice

compound module

An end device with Time-Sensitive Networking (TSN) capabilities. It extends the StandardHost with various TSN features defined in the IEEE 802.1 standards suite for deterministic, low-latency communication over Ethernet networks.

TSNschedGateScheduleConfigurator

simple module

Provides a gate scheduling configurator that uses the TSNsched tool which is available at https://github.com/ACassimiro/TSNsched. Tested revision: 3f3bf663d196ec6c03e81a1e1392d4aefd158e3e

TsnSwitch

compound module

An Ethernet switch with Time-Sensitive Networking (TSN) capabilities. It extends the standard EthernetSwitch with various TSN features defined in the IEEE 802.1 standards suite for deterministic, low-latency communication over Ethernet networks.

Tun

simple module

Implements a TUN (network tunnel) interface that provides a virtual network interface for applications. This is the main component of TunInterface. Allows applications to send and receive packets directly to/from the network layer using a socket-like API. Maintains a list of registered sockets and handles commands for opening, closing, and using the TUN interface. Processes packets between upper layers and the network layer, adding appropriate tags for routing.

TunInterface

compound module

Implements a (simulated) TUN network interface.

TunLoopbackApp

simple module

Provides loopback functionality for a TUN interface by receiving packets, swapping source and destination addresses and ports, and sending them back through the same interface. Processes both network and transport layer headers to properly reverse packet direction. Useful for testing network configurations and protocols without requiring external connections.

TunnelApp

simple module

Relays packets between a pre-existing tunnel endpoint (a local TUN interface) and a remote network address using either UDP or IPv4 protocols.

TurtleMobility

simple module

A LOGO-style movement model, with the script coming from XML. It can be useful for describing random as well as deterministic scenarios.

TwoRateThreeColorMeter

simple module

Implements a Two Rate Three Color Meter (RFC 2698).

TwoRayGroundReflection

compound module

Implements the two-ray ground reflection path loss model for wireless communications. This model accounts for both the direct line-of-sight path and a ground-reflected path between transmitter and receiver. For distances less than the crossover distance, it uses the free space model; beyond that, it applies the two-ray formula which considers transmitter and receiver heights above ground. (The crossover distance is computed from the heights and the frequency.) This model provides more accurate predictions than free space models for medium to long distances in environments with significant ground reflections.

TwoRayInterference

compound module

Path loss model that accounts for interference between direct and ground-reflected signal paths. Considers phase differences, polarization effects (horizontal or vertical), and ground permittivity to accurately model constructive and destructive interference patterns, yielding a more accurate approximation than TwoRayGroundReflection even on short distances.

Tx

simple module

Responsible for unconditionally transmitting a frame after waiting for a specified inter-frame space. This is the default implementation of the ITx module interface.

TxopProcedure

simple module

Implements the Transmission Opportunity (TXOP) mechanism in IEEE 802.11 QoS networks. Manages TXOP periods during which a station has the right to transmit. Tracks TXOP limits based on access category (AC) and PHY mode. Supports both single and multiple protection mechanisms to protect frame exchanges during the TXOP.

Udp

simple module

UDP protocol implementation, for IPv4 (Ipv4) and IPv6 (Ipv6).

UdpApp

compound module

Generates traffic for a UDP application. The traffic source and traffic sink modules can be built from queueing model elements.

UdpBasicApp

simple module

Sends UDP packets to the given IP address at the given interval. Compatible with both Ipv4 and Ipv6.

UdpBasicBurst

simple module

Sends UDP packets to the given IP address(es) in bursts, or acts as a packet sink. Compatible with both IPv4 (Ipv4) and IPv6 (Ipv6).

UdpChecksumInsertionHook

simple module

Computes and inserts Cyclic Redundancy Check (CRC) values into UDP headers during packet processing. Implements a network filter hook that intercepts packets in the post-routing phase and inserts the correct CRC value based on the packet’s source and destination addresses.

UdpEchoApp

simple module

Listens on a UDP port and sends back each received packet to its sender. Note: when used together with UdpBasicApp, UdpBasicApp’s “received packet lifetime” statistic will record round-trip times.

UdpRequestResponseApp

compound module

A generic request/response-based server application. For each request it receives, it generates different traffic based on the data the request contains. The client application can be any source that is capable of generating packets with different data. The first byte of the packet data determines the response traffic, which can be configured to produce complex streams of packets with various data and timing distributions.

UdpSink

simple module

Consumes and prints packets received from the Udp module.

UdpSinkApp

compound module

Implements a UDP application that only receives packets.

UdpSocketIo

simple module

Provides UDP socket handling for generic applications.

UdpSourceApp

compound module

Implements a UDP application that only sends packets.

UdpVideoStreamClient

simple module

Video streaming client.

UdpVideoStreamServer

simple module

Video stream server. To be used with UdpVideoStreamClient.

UnitDiskMediumAnalogModel

compound module

This analog model provides a very simple and predictable physical layer behaviour. It determines the reception power by categorizing transmissions based on the distance between the transmitter and the receiver.

UnitDiskRadioMedium

compound module

This radio medium model provides a very simple but fast and predictable physical layer behavior. The idea behind this analog model is to describe transmissions with a few distance-based parameters: communication range, interference range, and detection range. Whether the reception is successful or not depends on the distance between the transmitter and the receiver.

UnitDiskReceiverAnalogModel

simple module

See also: UnitDiskRadioMedium, UnitDiskMediumAnalogModel, UnitDiskReceiverAnalogModel.

UnitDiskTransmitterAnalogModel

compound module

This transmitter analog model produces signals which are described with a few distance-based parameters.

UserPriorityClassifier

simple module

Classifies packets based on the attached ~UserPriority tag.

UwbIrStochasticPathLoss

compound module

This is a statistical path-loss model for UWB propagation in residential environments, for both line-of-sight (LOS) and non-line-ofsight (NLOS) cases. It implements the Ghassmezadeh stochastic UWB channel path loss model.

VectorCommunicationCache

compound module

This communication cache model stores radio, transmission and reception related intermediate computation results in vector data structures. It’s primarily useful for simulations with either static or short lived dynamic radios, and with only short transmission durations.

VehicleMobility

simple module

Mobility model for ground vehicles that follow waypoints with realistic turning behavior. Reads waypoints from a file and moves the vehicle along them at a specified speed, calculating appropriate angular velocity for turns. Supports terrain following by projecting positions onto the ground and orienting the vehicle according to the ground normal.

VirtualInterface

compound module

Implements a virtual network interface.

VirtualTunnel

simple module

Creates a virtual network interface that tunnels traffic through an existing real network interface. This is the main component of VirtualInterface. Supports tunneling via Ethernet or IEEE 802.1Q protocols, with optional VLAN tagging for traffic separation.

VisualizerBase

simple module

Base module for visualizer simple modules. It simply provides the visualization target module for derived modules.

VlanIndFilter

simple module

Filters out packets based on the attached VlanInd tag.

VlanPolicyLayer

compound module

(no description)

VlanReqFilter

simple module

Filters out packets based on the attached VlanReq tag.

VlanReqMapper

simple module

Updates the VlanReq tag on packets.

VoipStreamReceiver

simple module

VoipStreamReceiver listens on a UDP port and expects to receive VoIP packets on it. The received voice is then saved into a result audio file that can be compared with the original for further evaluation. VoIP packets are numbered, and out-of-order packets are discarded (the corresponding voice interval will be recorded as silence into the file). VoIP packets that miss their deadlines will similarly be discarded. It is assumed that the audio is played back with a delay (by default 20ms), which allows some jitter for the incoming packets. The resulting audio file is closed when the simulation completes (i.e., in the OMNeT++ finish() function). Only one voice session (“call”) may be underway at a time.

VoipStreamSender

simple module

VoipStreamSender accepts an audio file and a destination IP address/port as input, and will transmit the file’s contents as voice traffic over UDP n times (by default once). For transmission, the audio is resampled at the specified frequency and depth, and encoded with the specified codec at the specified bit rate, and chopped into packets that each carry a specified number of milliseconds of voice. Those values come from module parameters. Packets that are all silence (all samples are below a given threshold in absolute value) are transmitted as special “silence” packets. The module does not simulate any particular VoIP protocol (e.g. RTP), but instead accepts a “header size” parameter that can be set accordingly.

Wgs84AnchoredGeographicCoordinateSystem

simple module

Provides an accurate geographic coordinate system: the scene coordinate frame is a local tangent plane pinned to a geographic anchor point and optionally rotated. Scene coordinates are in meters relative to that anchor.

Wgs84EcefGeographicCoordinateSystem

simple module

Provides an accurate geographic coordinate system in which the scene coordinate frame coincides with the Earth-Centered Earth-Fixed (ECEF) frame (origin at the center of the Earth, Z towards the north pole, meters), using the WGS84 ellipsoid.

WireJunction

simple module

Models a generic wiring hub.

WirelessHost

compound module

A mobile device with wireless connectivity operating in infrastructure mode. Extends StandardHost by adding a preconfigured IEEE 802.11 wireless interface, making it suitable for simulating devices in WiFi networks.

WirelessHost6

compound module

A wireless mobile node with IPv6 and Mobile IPv6 support. Combines wireless connectivity with mobility management capabilities, allowing it to maintain network connections while moving between different wireless networks.

WirelessInterface

compound module

Implements a generic wireless network interface.

WiseRoute

simple module

Wiseroute is a simple loop-free routing algorithm that builds a routing tree from a central network point, designed for sensor networks and convergecast traffic.

WiseRouteNetworkLayer

compound module

Provides a simple network layer.

WrrClassifier

simple module

Implements a weighted round-robin classifier.

WrrScheduler

simple module

Implements weighted round-robin scheduling.

XMac

compound module

Implementation of X-MAC. See C++ documentation for details.

XMacInterface

compound module

Implements a wireless network interface using the X-MAC protocol.

Z3GateScheduleConfigurator

simple module

Provides a gate scheduling algorithm that uses the open source z3 SAT solver from Microsoft. In order to be able to use this module, the corresponding ‘Z3 Gate Scheduling Configurator’ feature must be enabled and the libz3-dev package must be installed.