Packages

Packages

inet.applications.clock

Name Type Description
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.

inet.applications.common

Name Type Description
SinkApp compound module

Implements a generic sink application.

SourceApp compound module

Implements a generic source application.

inet.applications.contract

Name Type Description
IApp module interface

Generic application interface.

inet.applications.dhcp

Name Type Description
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.

inet.applications.ethernet

Name Type Description
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.

EthernetApp compound module

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

EthernetSinkApp compound module

Implements an Ethernet application that only receives packets.

EthernetSocketIo simple module

Provides Ethernet socket handling for generic applications.

EthernetSourceApp compound module

Implements an Ethernet application that only sends packets.

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.

inet.applications.external

Name Type Description
ExternalApp compound module

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

inet.applications.generic

Name Type Description
IIpvxTrafficGenerator module interface

Module interface for modules that generate traffic directly over IP. Compatible with both ~Ipv4 and ~Ipv6.

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.

inet.applications.ieee8022

Name Type 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.

Ieee8022LlcSinkApp compound module

Implements an IEEE 802.2 LLC application that only receives packets.

Ieee8022LlcSocketIo simple module

Provides IEEE 802.2 LLC socket handling for generic applications.

Ieee8022LlcSourceApp compound module

Implements an IEEE 802.2 LLC application that only sends packets.

inet.applications.ipapp

Name Type Description
IpApp compound module

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

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.

inet.applications.netperfmeter

Name Type Description
NetPerfMeter simple module

Application model for comparing the performance of various transport protocols.

inet.applications.pingapp

Name Type Description
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).

inet.applications.quicapp

Name Type Description
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)

inet.applications.rtpapp

Name Type Description
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.

inet.applications.sctpapp

Name Type Description
SctpClient simple module

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

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.

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.

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.

inet.applications.tcpapp

Name Type Description
TcpBasicClientApp simple module

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

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.

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.

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.

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.

inet.applications.trafficgen

Name Type Description
ITrafficgen module interface (no description)
ITrafficgenHandler module interface (no description)
TrafficgenCompound compound module (no description)
TrafficgenSimple simple module (no description)

inet.applications.tunapp

Name Type Description
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.

inet.applications.udpapp

Name Type Description
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).

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.

inet.applications.voip

Name Type Description
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.

inet.applications.voipstream

Name Type Description
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.

inet.clock.base

Name Type Description
ClockBase compound module

Base module for clocks.

ClockServoBase compound module

Base module for clock servos.

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.

OscillatorBase simple module

Base module for oscillators.

inet.clock.contract

Name Type Description
IClock module interface

Interface for clock models.

IClockServo module interface

Interface for clock servo models.

IOscillator module interface

Interface for oscillator models.

inet.clock.model

Name Type Description
IdealClock compound module

Ideal clock: clock time equals simulation time.

MultiClock compound module

Multi-clock aggregator and switch.

OscillatorBasedClock compound module

Oscillator-driven clock.

SettableClock compound module

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

inet.clock.oscillator

Name Type Description
ConstantDriftOscillator simple module

Oscillator with constant fractional frequency offset (drift).

IdealOscillator simple module

Ideal strictly periodic oscillator (no drift).

RandomDriftOscillator simple module

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

inet.clock.servo

Name Type Description
NoClockServo compound module

No-op clock servo.

StepClockServo compound module

Step (bang-bang) clock servo.

inet.common

Name Type Description
Cable channel (no description)
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.

IHook module interface

Generic module that can be inserted at some points in the model

IMeasurer module interface

Interface for all standalone measurement modules. These measurement modules can be used in various places such as network interfaces, network nodes, subnetworks or even the whole network. They most often collect statistical results by subscribing to signals of other modules and by doing their calculation internally.

LayeredProtocolBase simple module

Module base for different layered protocols.

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.

Module compound module

Base module for all INET compound modules.

ModuleMixin simple module

Base module for all INET modules.

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.

SimpleModule simple module

Base module for all INET simple modules.

Sink simple module (no description)

inet.common.geometry.common

Name Type Description
IGeographicCoordinateSystem module interface

Interface for geographic coordinate systems. A geographic coordinate system maps scene coordinates to geographic coordinates, and vice versa.

OsgGeographicCoordinateSystem simple module

Provides an accurate geographic coordinate system using the built-in OSG API.

SimpleGeographicCoordinateSystem simple module

Provides a very simple and less accurate geographic coordinate system without using OSG. It doesn't support orientation.

inet.common.lifecycle

Name Type Description
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.

inet.common.misc

Name Type Description
MessageChecker simple module

Module that allows checking fields of messages.

ModuleDump simple module (no description)
PeriodicLossChannel channel

This channel uses the per parameter for periodic packet loss. That means it delivers exactly 1/per packets, followed by one drop. It does not use the BER paramater.

SignalSource simple module

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

ThruputMeter simple module

Thruput measurement utility module.

ThruputMeteringChannel channel

This channel adds support for throughput metering to the datarate channel. A cDatarateChannel extended with throughput calculation. Values are displayed on the link, using the connection's "t=" or "tt=" display string tag.

inet.common.packet.recorder

Name Type Description
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(1,2). 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.

inet.common.scenario

Name Type 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.

inet.emulation.common

Name Type Description
ExtInterface compound module

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

inet.emulation.linklayer.ethernet

Name Type Description
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.

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.

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.

inet.emulation.linklayer.ieee80211

Name Type Description
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.

inet.emulation.networklayer.ipv4

Name Type Description
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.

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.

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.

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.

inet.emulation.transportlayer.udp

Name Type Description
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.

inet.environment.common

Name Type Description
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.

inet.environment.contract

Name Type Description
IGround module interface

Module interface for ground models that define the terrain in physical environment simulations. Provides methods to compute ground projections and normals for any position, which is necessary for accurate modeling of signal propagation and mobility over terrain. Implementations range from simple flat surfaces to terrain models based on real-world elevation data.

IObjectCache module interface

An object cache is a data structure that is used by the physical environment to store physical objects.

IPhysicalEnvironment module interface

Module interface for physical environment models that contain physical objects affecting signal propagation. Implementations define a space with objects of various shapes, positions, orientations, and materials. These objects impact wireless signal propagation through absorption, reflection, refraction, and diffraction.

inet.environment.ground

Name Type Description
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.

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.

inet.environment.objectcache

Name Type Description
BvhObjectCache compound module

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

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.

inet.examples.adhoc.hostautoconf

Name Type Description
Scenario network (no description)

inet.examples.adhoc.idealwireless

Name Type Description
Net network (no description)

inet.examples.adhoc.ieee80211

Name Type Description
Net80211 network (no description)

inet.examples.adhoc.qos

Name Type Description
QosThroughput network (no description)

inet.examples.aodv

Name Type Description
AODVNetwork network (no description)
AODVNetworkWithEthernet network

Extended AODV network with an additional Ethernet-connected host that can receive traffic from the wireless AODV network.

ShortestPath network (no description)
SimpleRREQ network (no description)
SimpleRREQ2 network (no description)

inet.examples.bgpv4.Bgp2RoutersInAS

Name Type Description
BgpNetwork network (no description)

inet.examples.bgpv4.Bgp3Routers

Name Type Description
BgpNetwork network (no description)

inet.examples.bgpv4.BgpAndOspf

Name Type Description
BgpNetwork network (no description)

inet.examples.bgpv4.BgpAndOspfSimple

Name Type Description
BgpNetwork network (no description)

inet.examples.bgpv4.BgpCompleteTest

Name Type Description
BgpNetwork network (no description)

inet.examples.bgpv4.BgpOpen

Name Type Description
BgpNetwork network (no description)
BGPRouterSimple compound module

Example Ipv4 router with BGPv4 support.

inet.examples.bgpv4.BgpUpdate

Name Type Description
BgpNetwork network (no description)
BGPRouterEx compound module

Example IP router with BGPv4 and OSPFv4 support.

inet.examples.clock

Name Type Description
ClockExample network (no description)

inet.examples.communicationcache

Name Type Description
CommunicationCacheExample network (no description)

inet.examples.dhcp

Name Type Description
DHCPShutdownReboot network (no description)
WiredNetWithDHCP network (no description)
WirelessNetWith2DHCP network (no description)
WirelessNetWithDHCP network (no description)

inet.examples.diffserv.onedomain

Name Type Description
DiffservNetwork network (no description)
DSQueue1 compound module

Diffserv Queue used in Experiment 1.1 - 1.6 and 5.1.

DSQueue2 compound module

Diffserv Queue used in Experiment 2.1 - 2.4.

TC1 compound module

Traffic conditioner used in Experiments 1.1-1.6 and 5.1.

TC2 compound module

Traffic conditioner used in Experiment 3.1.

TC3 compound module

Traffic conditioner used in Experiment 3.2.

inet.examples.diffserv.simple_

Name Type Description
DiffservNetwork network

This network contains a router with an 10Mbps Ethernet interface, and with a 128kbps dialup connection to a server.

TrafficConditioner compound module

TODO documentation

inet.examples.eigrp.basic

Name Type Description
EigrpTestNetwork network (no description)

inet.examples.eigrp.snake

Name Type Description
EigrpTestNetwork network (no description)

inet.examples.eigrp.square_stub

Name Type Description
EigrpTestNetwork network (no description)

inet.examples.eigrp.square_stub_mesh

Name Type Description
EigrpTestNetwork network (no description)

inet.examples.eigrp.testing_scenario

Name Type Description
EigrpTestNetwork network (no description)

inet.examples.eigrp.testing_scenario6

Name Type Description
EigrpTestNetwork network (no description)

inet.examples.eigrp.testing_scenario_ds

Name Type Description
EigrpTestNetwork network (no description)

inet.examples.eigrp.two_node

Name Type Description
EigrpTestNetwork network (no description)

inet.examples.eigrp.two_node6

Name Type Description
EigrpTestNetwork network (no description)

inet.examples.empty

Name Type Description
EmptyNetwork network (no description)

inet.examples.emulation.extclient

Name Type Description
ExtClientExample network (no description)

inet.examples.emulation.extserver

Name Type Description
ExtServerExample network (no description)
NormalPath channel (no description)

inet.examples.emulation.pinger

Name Type Description
ExtPingerExample network (no description)

inet.examples.emulation.traceroute

Name Type Description
Traceroute network (no description)

inet.examples.ethernet.arptest

Name Type Description
ARPTest network (no description)

inet.examples.ethernet.arptest2

Name Type Description
ARPTest network (no description)

inet.examples.ethernet.lans

Name Type Description
BusLAN network

Sample Ethernet LAN: four hosts on a bus.

cable channel

A 100Mb/s Ethernet cable(1,2,3). Part of ~LargeNet(1,2).

HubLAN network

Sample Ethernet LAN: four hosts connected by a hub.

LargeLAN compound module

Several hosts and an Ethernet hub on a switch. One port of the hub connect to a 10Base2 segment. Part of ~LargeNet(1,2).

LargeNet network

A large Ethernet LAN -- see model description here.

MediumLAN compound module

Several hosts and an Ethernet hub on a switch; part of ~LargeNet(1,2).

MixedLAN network

Sample Ethernet LAN containing eight hosts, a switch and a bus.

SmallLAN compound module

Several hosts on an Ethernet hub; part of ~LargeNet(1,2).

SwitchedDuplexLAN network (no description)
SwitchedLAN network

Sample Ethernet LAN: four hosts connected to a switch.

TwoHosts network

Sample Ethernet LAN: two hosts directly connected to each other via twisted pair.

inet.examples.ethernet.TenBaseT1S

Name Type Description
EthernetPlcaNode compound module

This module implements an Ethernet network node 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.

MixedMultidropNetwork network

This module contains an ~EthernetSwitch connected to a ~StandardHost and a 10BASE-T1S multidrop link with a configurable number of nodes. The switch port acts as the controller of the multidrop link. The network node type can be configured for all the nodes on the multidrop link.

MultidropNetwork network

This module contains a single 10BASE-T1S multidrop link with a separate controller node and a configurable number of additional nodes. The network node type can be configured for all network nodes on the multidrop link.

inet.examples.ethernet.vlan

Name Type Description
VlanExample network (no description)

inet.examples.geometry

Name Type Description
ObstacleIntersectionTest network (no description)

inet.examples.gptp

Name Type Description
GptpMasterSlave network (no description)

inet.examples.ieee8021as

Name Type Description
NetworkDaisyChain network (no description)
NetworkWithCrossTraffic network (no description)

inet.examples.ieee8021d

Name Type Description
LargeNet network (no description)
SwitchNetwork network (no description)

inet.examples.inet.ber

Name Type Description
ber network (no description)

inet.examples.inet.broadcast

Name Type Description
UDPBroadcastNetwork network (no description)

inet.examples.inet.bulktransfer

Name Type Description
BulkTransfer network (no description)

inet.examples.inet.configurator

Name Type Description
SimpleConfiguratorNetwork network (no description)

inet.examples.inet.dctcp

Name Type Description
DcTcpIncast network (no description)

inet.examples.inet.flatnet

Name Type Description
FlatNet network (no description)

inet.examples.inet.hierarchical

Name Type Description
Hierarchical network (no description)

inet.examples.inet.hierarchical99

Name Type Description
Hierarchical99 network

This hierarchical network topology contains 3 levels, 72 hosts and 27 routers.

inet.examples.inet.igmp

Name Type Description
Network network

TODO documentation

inet.examples.inet.ipsec

Name Type Description
TwoHosts network (no description)

inet.examples.inet.ipv4hook

Name Type Description
Ipv4hook network

TODO Auto-generated network

MyHost compound module (no description)
MyRouter compound module (no description)

inet.examples.inet.ipv4largenet

Name Type Description
cable channel

A 100Mb/s Ethernet cable(1,2,3). Part of ~IPv4LargeNet.

IPv4LargeLAN compound module

Several hosts and an Ethernet hub on a switch. One port of the hub connect to a 10Base2 segment.

IPv4LargeNet network

A large Ethernet LAN -- see model description

IPv4MediumLAN compound module

Several hosts and a router on an Ethernet hub and a switch

IPv4SmallLAN compound module

Several hosts on a router; part of ~IPv4LargeNet.

inet.examples.inet.kidsnw1

Name Type Description
KIDSNw1 network (no description)

inet.examples.inet.multicast

Name Type Description
MulticastNetwork network (no description)

inet.examples.inet.nclients

Name Type Description
NClients network (no description)
NClients2 network (no description)

inet.examples.inet.netperfmeter

Name Type Description
accessChannel channel (no description)
coreChannel channel (no description)
REDQueue compound module (no description)
testNetwork network (no description)

inet.examples.inet.pcaprecorder

Name Type Description
PcapRecorderTest network (no description)

inet.examples.inet.redmarker

Name Type Description
FastP channel (no description)
NormalP channel (no description)
RedMarkerNetwork network (no description)

inet.examples.inet.routerperf

Name Type Description
BurstHost compound module

Definition of an IP node with a transport generator that connects to IP directly, without TCP or UDP.

RouterPerfNetwork network (no description)

inet.examples.inet.shutdownrestart

Name Type Description
NClients network (no description)

inet.examples.inet.tcp_eth_reconnect

Name Type Description
ClientServerWithSM network (no description)

inet.examples.inet.tcp_ppp_reconnect

Name Type Description
ClientServerWithSM network (no description)

inet.examples.inet.tcpapp

Name Type Description
TcpAppExample network (no description)

inet.examples.inet.tcpclientserver

Name Type Description
ClientServer network (no description)

inet.examples.inet.tcpthroughput

Name Type Description
ClientServer network (no description)

inet.examples.inet.tcpwindowscale

Name Type Description
tcpwindowscale network (no description)

inet.examples.inet.tunnel

Name Type Description
Tunnel network (no description)

inet.examples.inet.udpapp

Name Type Description
UdpAppExample network (no description)

inet.examples.inet.udpburst

Name Type Description
UDPBurst network (no description)

inet.examples.inet.udpclientserver

Name Type Description
UdpClientServer network (no description)

inet.examples.internetcloud.cloudandhosts

Name Type Description
CloudAndHosts network (no description)

inet.examples.internetcloud.cloudandrouters

Name Type Description
CloudAndRouters network (no description)

inet.examples.internetcloud.earthcloud

Name Type Description
EarthCloud network (no description)
SimpleContinentCloud network (no description)

inet.examples.ipv6.demonetworketh

Name Type Description
DemoNetworkEth network (no description)

inet.examples.ipv6.ipv6bulk

Name Type Description
BulkTransfer6 network (no description)

inet.examples.ipv6.ipv6nclients

Name Type Description
NClientsEth network (no description)
NClientsEthPpp network (no description)
NClientsPPP network (no description)

inet.examples.ipv6.nclients

Name Type Description
NClientsEth network (no description)
NClientsPPP network (no description)

inet.examples.manetrouting.dsdv

Name Type Description
DsdvNetwork network

TODO

inet.examples.manetrouting.dymo

Name Type Description
DYMONetwork network

TODO

inet.examples.manetrouting.gpsr

Name Type Description
GPSRNetworkManual network (no description)
GPSRNetworkRandom network

TODO

inet.examples.manetrouting.multiradio

Name Type Description
MultiRadio network

Models a network with several hosts. Each host may contain one or more radios. Nodes are using adhoc routing to pass information.

inet.examples.mobileipv6

Name Type Description
ethernetline channel (no description)
fiberline channel (no description)
mIPv6Network network (no description)

inet.examples.mobility

Name Type Description
MoBANNetwork network

This network is exactly the same as baseNetwork existing among the examples of MiXiM, but the desired number of MoBAN coordinator modules have been added. Some nodes of type BaseNode use MoBanLocal module as their mobility module. Then those nodes will be considered as WBAN nodes. Those node have a parameter named "coordinatorIndex" that determines to which WBAN (coordinator) the node belongs.

MobileHost compound module

A host for demonstrating mobility models only -- it contains no protocol layers at all.

MobileNetwork network (no description)

inet.examples.mpls.ldp

Name Type Description
LDPTEST network (no description)

inet.examples.mpls.net37

Name Type Description
R37 network (no description)
R37orig network (no description)

inet.examples.mpls.testte_failure

Name Type Description
RSVPTE4 network

Example network to demonstrate Rsvp-TE.

inet.examples.mpls.testte_failure2

Name Type Description
RSVPTE4 network

Example network to demonstrate Rsvp-TE.

inet.examples.mpls.testte_reroute

Name Type Description
RSVPTE4 network

Example network to demonstrate Rsvp-TE.

inet.examples.mpls.testte_routing

Name Type Description
RSVPTE4 network

Example network to demonstrate Rsvp-TE.

inet.examples.mpls.testte_tunnel

Name Type Description
RSVPTE4 network

Example network to demonstrate Rsvp-TE.

inet.examples.mrp

Name Type Description
Mrp4 network (no description)
Mrp4withHosts network (no description)
Mrp8 network (no description)
MrpRing network (no description)

inet.examples.neighborcache

Name Type Description
NeighborCacheTest network (no description)

inet.examples.objectcache

Name Type Description
ObjectCacheTest network (no description)

inet.examples.openstreetmap

Name Type Description
OpenStreetMapExample network (no description)

inet.examples.ospfv2.areas

Name Type Description
OneNetArea compound module (no description)
OSPF_AreaTest network (no description)
TwoNetsArea compound module (no description)

inet.examples.ospfv2.areatests

Name Type Description
OSPF_BackboneAndOneStubTest network (no description)
OSPF_BackboneAndTwoStubsTest network (no description)
OSPF_BackboneTest network (no description)
OSPF_mininet network (no description)
TestArea compound module (no description)

inet.examples.ospfv2.backbone

Name Type Description
Backbone network (no description)

inet.examples.ospfv2.dynamictest

Name Type Description
DynamicTest network (no description)

inet.examples.ospfv2.fulltest

Name Type Description
C channel (no description)
OSPF_Area1 compound module (no description)
OSPF_Area2 compound module (no description)
OSPF_Area3 compound module (no description)
OSPF_RFC2328_Fig6 network (no description)
OspfLan compound module (no description)

inet.examples.ospfv2.simpletest

Name Type Description
SimpleTest network (no description)

inet.examples.ospfv3.multiple_areas_FINAL

Name Type Description
multiple_areas2 network (no description)

inet.examples.ospfv3.small

Name Type Description
small network (no description)

inet.examples.ospfv3.v3_2_routers

Name Type Description
v3_2_routers network (no description)

inet.examples.ospfv3.v3_3_areas

Name Type Description
v3_3_areas network (no description)

inet.examples.ospfv3.v3_4_routers_2_areas

Name Type Description
v3_4_routers_2_areas network (no description)

inet.examples.ospfv3.v3_mesh

Name Type Description
v3_mesh network (no description)

inet.examples.ospfv3.v3_square_2_areas

Name Type Description
v3_square_2_areas network (no description)

inet.examples.pim.dm.assert

Name Type Description
Network network (no description)

inet.examples.pim.dm.basic

Name Type Description
pimDMFinal network (no description)

inet.examples.pim.iptv

Name Type Description
Network network

A generated network with grid topology.

inet.examples.pim.sm.basic

Name Type Description
PIM_SM_Network network (no description)

inet.examples.quic.basic3

Name Type Description
Basic3 network (no description)

inet.examples.quic.byte_order

Name Type Description
Byte_order network (no description)

inet.examples.quic.dplpmtud

Name Type Description
Dplpmtud network (no description)

inet.examples.quic.flow_control_limited

Name Type Description
bottleneck network (no description)

inet.examples.quic.link_utilization

Name Type Description
bottleneck network (no description)

inet.examples.quic.multiserver

Name Type Description
oneclienthost network (no description)
twoclienthosts network (no description)

inet.examples.quic.persistent_congestion

Name Type Description
Persistent_congestion network (no description)

inet.examples.quic.shared_link

Name Type Description
shared_link network (no description)

inet.examples.quic.throughput_packet_loss

Name Type Description
bottleneck network (no description)

inet.examples.quic.trafficgen

Name Type Description
Trafficgen network (no description)

inet.examples.quic.zerortt

Name Type Description
zerortt network (no description)

inet.examples.rip.dynamictest

Name Type Description
DynamicTest network (no description)

inet.examples.rip.infinitycount

Name Type Description
RIPInfinityCountTest network (no description)

inet.examples.rip.mixednetwork

Name Type Description
MixedNetwork network

TODO Auto-generated network

inet.examples.rip.simpletest

Name Type Description
SimpleTest network (no description)

inet.examples.rtp.multicast1

Name Type Description
RTPMulticast1 network (no description)

inet.examples.rtp.unicast

Name Type Description
RTPNetwork network (no description)

inet.examples.rtp.unicast1

Name Type Description
RTPUnicast1 network (no description)

inet.examples.rtp.unicast2

Name Type Description
RTPUnicast2 network (no description)

inet.examples.sctp.cmttest

Name Type Description
BottlePath channel (no description)
multihomed network (no description)
NormalPath channel (no description)

inet.examples.sctp.multihomed

Name Type Description
multi network (no description)

inet.examples.sctp.nclients

Name Type Description
NClients network (no description)

inet.examples.seaport

Name Type Description
GpsrRouter compound module (no description)
GpsrStandardHost compound module (no description)
GpsrWirelessHost compound module (no description)
SeaportNetwork network (no description)

inet.examples.timing

Name Type Description
TimingExample network (no description)

inet.examples.voip

Name Type Description
Voip network

A generated network with star topology.

inet.examples.voipstream.VoIPStreamLargeNet

Name Type Description
cable channel (no description)
VoIPStreamLargeLAN compound module

Several hosts and an Ethernet hub on a switch. One port of the hub connect to a 10Base2 segment.

VoIPStreamLargeNet network

This is a copy of the LargeNet(1,2) Ethernet demo simulation in the INET Framework, modified to add a VoIP server and a VoIP client. It can be used to test VoIP transmission on a LAN with high background traffic.

VoIPStreamMediumLAN compound module

Several hosts and an Ethernet hub on a switch

VoIPStreamSmallLAN compound module

Several hosts on an Ethernet hub

inet.examples.voipstream.VoIPStreamTest

Name Type Description
VoIPStreamTest network (no description)

inet.examples.voipstream.VoIPStreamTrafficTest

Name Type Description
VoIPStreamTrafficTest network (no description)

inet.examples.wireless.antenna

Name Type Description
AntennaDirectionalSelectivityExample network (no description)

inet.examples.wireless.combo

Name Type Description
ComboExample network (no description)

inet.examples.wireless.configurator

Name Type Description
ComplexConfiguratorNetwork network (no description)

inet.examples.wireless.corruptionmode

Name Type Description
CorruptionModeExample network (no description)

inet.examples.wireless.crosstalk

Name Type Description
Crosstalk network (no description)

inet.examples.wireless.dynamic

Name Type Description
DynamicRadioNetwork network (no description)

inet.examples.wireless.errorrate

Name Type Description
ErrorRateTest network (no description)

inet.examples.wireless.filtering

Name Type Description
FilteringExampleNetwork network (no description)

inet.examples.wireless.handover

Name Type Description
HandoverNetwork network (no description)

inet.examples.wireless.hiddennode

Name Type Description
HiddenNode network (no description)
Node compound module (no description)
SinkNode compound module (no description)

inet.examples.wireless.hosttohost

Name Type Description
Throughput network (no description)
ThroughputClient compound module (no description)
ThroughputServer compound module (no description)

inet.examples.wireless.ieee80211levelofdetail

Name Type Description
Ieee80211LevelofDetailShowcase network (no description)

inet.examples.wireless.lan80211

Name Type Description
Lan80211 network (no description)

inet.examples.wireless.lan80211ac

Name Type Description
Lan80211ac network (no description)

inet.examples.wireless.layered80211

Name Type Description
Layered80211 network (no description)

inet.examples.wireless.layeredapsk

Name Type Description
LayeredApsk network (no description)

inet.examples.wireless.mactest

Name Type Description
MacTest network (no description)

inet.examples.wireless.multiradio

Name Type Description
MultiRadio network (no description)

inet.examples.wireless.nic

Name Type Description
TestNic network (no description)

inet.examples.wireless.obstacle

Name Type Description
ObstacleTest network (no description)

inet.examples.wireless.power

Name Type Description
PowerNetwork network (no description)

inet.examples.wireless.qos

Name Type Description
QosThroughput network (no description)

inet.examples.wireless.ratecontrol

Name Type Description
Client compound module (no description)
RateControlTest network (no description)
SinkClient compound module (no description)

inet.examples.wireless.scaling

Name Type Description
TestRadioScaling network (no description)

inet.examples.wireless.shortcut

Name Type Description
ShortcutMacExample network (no description)
ShortcutRadioExample network (no description)

inet.examples.wireless.synchronized

Name Type Description
Synchronized network (no description)

inet.examples.wireless.testnewmac

Name Type Description
Throughput network (no description)
ThroughputClient compound module (no description)
ThroughputServer compound module (no description)

inet.examples.wireless.throughput

Name Type Description
Throughput network (no description)
ThroughputClient compound module (no description)
WirelessAPWithSink compound module

Well, this models a 802.11 Access Point with a Sink.

inet.examples.wireless.wiredandwirelesshostswithap

Name Type Description
WiredAndWirelessHostsWithAP network (no description)

inet.linklayer.acking

Name Type Description
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.

inet.linklayer.base

Name Type Description
MacProtocolBase simple module

Module base for different MAC protocols.

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.

inet.linklayer.bmac

Name Type Description
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.

inet.linklayer.common

Name Type Description
ExampleQosClassifier simple module

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

IIeee8021dQosClassifier module interface

Interface for 802.1d QoS classifiers. For each packet, the classifier computes an 802.1d User Priority (UP) value and sets it in the Iee802Ctrl control info before sending out the packet on the "out" gate.

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.

QosClassifier simple module

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

RandomQosClassifier simple module

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

WirelessInterface compound module

Implements a generic wireless network interface.

inet.linklayer.configurator.common

Name Type 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.

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.

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.

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.

inet.linklayer.configurator.contract

Name Type Description
IL2NodeConfigurator module interface

Interface for all layer 2 node configurators.

inet.linklayer.configurator.gatescheduling.base

Name Type Description
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.

inet.linklayer.configurator.gatescheduling.common

Name Type Description
AlwaysOpenGateScheduleConfigurator simple module

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

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.

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

inet.linklayer.configurator.gatescheduling.contract

Name Type Description
IGateScheduleConfigurator module interface

Interface for gate scheduling configurator modules. A gate scheduling configurator is responsible for configuring all ~PeriodicGate modules of all traffic categories in all network interfaces in the network.

inet.linklayer.configurator.gatescheduling.z3

Name Type Description
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.

inet.linklayer.contract

Name Type Description
IEtherMac module interface

Interface for Ethernet MAC implementations. All Ethernet MAC implementations should implement this (i.e. declared as: EthernetCsmaMacPhy like IEtherMac). The existing implementations are these: ~EthernetCsmaMacPhy and ~EthernetMacPhy.

IEthernetInterface module interface

Interface for Ethernet network interfaces.

IEthernetLayer module interface

Module interface for Ethernet protocol layer implementations. Implementations typically handle the encapsulation of higher layer packets into Ethernet frames for transmission and the decapsulation of received Ethernet frames for delivery to higher layers.

IExternalInterface module interface

Interface for external network interfaces.

IGptp module interface

Interface for gPTP module.

IIeee8021qLayer module interface (no description)
IIeee8021rLayer module interface (no description)
IIeee8022Llc module interface (no description)
ILinkLayer module interface

Interface for both upper and lower interfaces of different link layers.

ILinkLayerLower module interface

Interface for the lower interface of different link layers.

ILinkLayerUpper module interface

Interface for the upper interface of different link layers.

ILoopbackInterface module interface

Interface for loopback network interfaces.

IMacForwardingTable module interface

Interface for MAC address tables, used by MAC relay units in Ethenet switches.

IMacProtocol module interface

This interface provides an abstraction for different MAC protocols.

IMacRelayUnit module interface

Module interface for modules providing Ethernet switch functionality. These modules handle the mapping between ports and MAC addresses, and forward frames to appropriate ports.

IMrp module interface

Interface for modules that implement the Media Redundancy Protocol (MRP), specified in IEC 62439-2.

INetworkInterface module interface

Interface for network interfaces.

IPppInterface module interface

Interface for PPP network interfaces.

ISpanningTree module interface

Module interface for Spanning Tree protocols

ITunnelInterface module interface

Interface for tunnel network interfaces.

IVirtualInterface module interface

Interface for virtual network interfaces.

IWiredInterface module interface

Interface for wired network interfaces.

IWirelessInterface module interface

Interface for wireless network interfaces.

inet.linklayer.csmaca

Name Type Description
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.

inet.linklayer.ethernet

Name Type Description
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.

inet.linklayer.ethernet.basic

Name Type Description
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.

EthernetEncapsulation simple module

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

EthernetInterface compound module

Represents an Ethernet network interface.

EthernetMacPhy compound module

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

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.

inet.linklayer.ethernet.common

Name Type Description
BridgingLayer compound module

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

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.

EthernetFrameClassifier simple module

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

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.

InterfaceRelayLayer compound module

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

LocalDelivery simple module (no description)
MacForwardingTable simple module

Handles the mapping between ports and MAC addresses.

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.

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.

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.

inet.linklayer.ethernet.contract

Name Type Description
IEthernetMacLayer module interface

Module interface for Ethernet MAC (Media Access Control) layer implementations. Defines an interface for various MAC layer variants in the modular Ethernet architecture. Provides connection points to upper layers (e.g., LLC) and lower layers (e.g., PHY) through standardized gates.

inet.linklayer.ethernet.modular

Name Type Description
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.

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)
EthernetFcsChecker simple module (no description)
EthernetFcsInserter simple module (no description)
EthernetFragmentFcsChecker simple module (no description)
EthernetFragmentFcsInserter simple module (no description)
EthernetFragmentingMacLayer compound module (no description)
EthernetGatingQueue compound module (no description)
EthernetLayer compound module (no description)
EthernetMacHeaderChecker simple module (no description)
EthernetMacHeaderInserter simple module (no description)
EthernetMacLayer compound module (no description)
EthernetPauseCommandProcessor simple module (no description)
EthernetPreemptingMacLayer compound module (no description)
EthernetPriorityQueue compound module (no description)
EthernetSocketCommandProcessor simple module (no description)
EthernetSocketPacketProcessor simple module (no description)
EthernetSocketTable simple module (no description)
EthernetStreamingMacLayer compound module (no description)
EthernetTypeOrLengthChecker simple module (no description)
EthernetTypeOrLengthInserter simple module (no description)
LayeredEthernetInterface compound module

Implements an Ethernet network interface.

inet.linklayer.ieee80211

Name Type Description
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.

IIeee80211Mac module interface

Module interface for the IEEE 802.11 MAC module type.

inet.linklayer.ieee80211.llc

Name Type Description
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.

IIeee80211Llc module interface

Module interface for IEEE 802.11 Logical Link Control (LLC) implementations. LLC defines the interface between the MAC layer and network layer in IEEE 802.11 networks. Implementations handle encapsulation and decapsulation of packets, using either EtherType Protocol Discrimination (EPD) or Link Protocol Discrimination (LPD) methods.

inet.linklayer.ieee80211.mac

Name Type Description
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.

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.

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).

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.

inet.linklayer.ieee80211.mac.aggregation

Name Type Description
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.

inet.linklayer.ieee80211.mac.blockack

Name Type Description
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

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.

inet.linklayer.ieee80211.mac.channelaccess

Name Type Description
Dcaf compound module

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

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.

Edcaf compound module

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

Hcca simple module

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

inet.linklayer.ieee80211.mac.contention

Name Type Description
Contention simple module

The default implementation of IContention.

EdcaCollisionController simple module

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

inet.linklayer.ieee80211.mac.contract

Name Type Description
ICollisionController module interface

Interface for collision controllers. A collision controller is used with EDCA, and it detects and reports internal collisions among ~Edcaf instances.

IContention module interface

Interface for modules that implement contention-based channel access. For each frame, Contention listens on the channel for a DIFS (AIFS) period then for a random backoff period before transmitting the frame, and defers when a busy channel is sensed. After receiving a corrupted frame, EIFS is used instead of the original DIFS (AIFS).

ICtsPolicy module interface

Interface for CTS policies.

IDcf module interface

Interface for modules that implement the DCF (Distributed Coordination Function) for IEEE 802.11.

IDs module interface

Interface for modules that implement the frame Distribution Service for IEEE 802.11. The job of the Distribution Service is deciding what to do with correctly received frames. They may be discarded (e.g. on address mismatch), sent up to higher layers, and/or transmitted back on the wireless LAN after switching addresses.

IFragmentationPolicy module interface

Interface for fragmentation policies.

IHcf module interface

Interface for modules that implement the HCF (Hybrid Coordination Function) for IEEE 802.11.

IMpduAggregationPolicy module interface

Interface for MPDU aggregation policies.

IMsduAggregationPolicy module interface

Interface for MSDU aggregation policies.

IOriginatorAckPolicy module interface

Interface for originator ACK policies. This policy tells whether an ACK is expected for a transmitted frame, and also determines the ACK timeout.

IOriginatorBlockAckAgreementPolicy module interface

Interface for originator Block ACK agreement policies.

IOriginatorQosAckPolicy module interface

Interface for the originator QoS ACK policies.

IRateControl module interface

Interface for auto rate control modules.

IRateSelection module interface

Interface for frame rate selection modules. Rate selection decides what bit rate (or MCS) should be used for frames of various types, such as control frames, management frames, and data frames.

IRecipientAckPolicy module interface

Interface for recipient ACK policies. This policy chooses between no ACK, normal ACK, and Block ACK for received frames.

IRecipientBlockAckAgreementPolicy module interface

Interface for recipient Block ACK agreement policies.

IRecipientQosAckPolicy module interface

Interface for recipient QoS ACK policies.

IRtsPolicy module interface

Interface for RTS policies.

IRx module interface

Interface for Rx processes. The Rx process checks received frames for errors, manages the NAV, and notifies other processes about the channel state (free or busy). The channel is free only if it is free according to both the physical (CCA) and the virtual (NAV-based) carrier sense algorithms. Correctly received frames are sent up to upper layers, corrupted frames are discarded.

ITx module interface

Interface for processes that unconditionally transmit a frame after waiting for a specified inter-frame space (usually SIFS). Such processes can be used to transmit frames where no contention is needed, e.g. ACK, CTS, or the second and further frames of a TXOP.

inet.linklayer.ieee80211.mac.coordinationfunction

Name Type Description
Dcf compound module

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

Hcf compound module

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

Mcf compound module

IEEE 802.11 Mesh Coordination Function

Pcf compound module

IEEE 802.11 Point Coordination Function

inet.linklayer.ieee80211.mac.fragmentation

Name Type Description
BasicFragmentationPolicy simple module

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

inet.linklayer.ieee80211.mac.originator

Name Type Description
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.

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.

OriginatorAckPolicy simple module

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

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.

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.

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.

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.

RtsPolicy simple module

Implements the default RTS policy.

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.

inet.linklayer.ieee80211.mac.protectionmechanism

Name Type Description
OriginatorProtectionMechanism simple module

Calculates the Duration/ID field for IEEE 802.11 frames to implement the Network(1,2,3,4) 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.

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(1,2,3,4) Allocation Vector (NAV) in receiving stations.

inet.linklayer.ieee80211.mac.queue

Name Type Description
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.

InProgressFrames simple module
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.

inet.linklayer.ieee80211.mac.ratecontrol

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.

ArfRateControl simple module

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

OnoeRateControl simple module

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

inet.linklayer.ieee80211.mac.rateselection

Name Type Description
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.

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.

inet.linklayer.ieee80211.mac.recipient

Name Type Description
CtsPolicy simple module

Implements the default CTS policy.

QosCtsPolicy simple module

Implements the default CTS policy for QoS stations.

RecipientAckPolicy simple module

Implements the default recipient ACK 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.

inet.linklayer.ieee80211.mgmt

Name Type Description
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).

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).

IIeee80211Agent module interface

Module interface for IEEE 802.11 agent modules that provide the decision logic for selecting access points and managing wireless connections in wireless stations. Agents initiate channel scanning, association, authentication, and handovers by sending commands to the management module.

IIeee80211Mgmt module interface

Module interface for all IEEE 802.11 management module types. It exists to specify what gates a management module should have in order to be usable within ~Ieee80211Interface.

inet.linklayer.ieee80211.mib

Name Type Description
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.

inet.linklayer.ieee80211.portal

Name Type Description
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.

inet.linklayer.ieee802154

Name Type Description
Ieee802154Mac compound module

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

Ieee802154NarrowbandInterface compound module

Implements an IEEE 802.15.4 narrowband network interface.

Ieee802154NarrowbandMac compound module (no description)
Ieee802154UwbIrInterface compound module

Implements an IEEE 802.15.4 UWB-IR network interface.

inet.linklayer.ieee8021ae

Name Type Description
Ieee8021aeTagEpdHeaderChecker simple module

TODO this module is incomplete

Ieee8021aeTagEpdHeaderInserter simple module

TODO: this module is incomplete

IIeee8021aeTagEpdHeaderChecker module interface (no description)
IIeee8021aeTagEpdHeaderInserter module interface

Module interface for IEEE 802.1AE (MACsec) tag header inserters. Implementations process outgoing frames to add IEEE 802.1AE security tags with EtherType Protocol Discrimination (EPD), encapsulate packet data in encrypted chunks, and add security parameters including Secure Channel Identifier (SCI) and packet number (PN) as defined in the IEEE 802.1AE standard for MAC security.

inet.linklayer.ieee8021as

Name Type Description
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.

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.

inet.linklayer.ieee8021d.relay

Name Type Description
Ieee8021dRelay simple module

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

inet.linklayer.ieee8021d.rstp

Name Type Description
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.

inet.linklayer.ieee8021d.stp

Name Type 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.

inet.linklayer.ieee8021d.tester

Name Type Description
StpTester simple module

Network(1,2,3,4) tester module. Shows if a network topology is loop-free, all nodes are connected, or it has a tree topology.

inet.linklayer.ieee8021q

Name Type Description
ATSIeee8021qFilter compound module

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

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.

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.

IIeee8021qTagEpdHeaderChecker module interface (no description)
IIeee8021qTagEpdHeaderInserter module interface (no description)
IIeee8021qTagTpidHeaderChecker module interface (no description)
IIeee8021qTagTpidHeaderInserter module interface (no description)
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.

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.

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.

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.

StreamPolicyLayer compound module (no description)

inet.linklayer.ieee8021r

Name Type Description
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)
IIeee8021rTagEpdHeaderChecker module interface (no description)
IIeee8021rTagEpdHeaderInserter module interface (no description)

inet.linklayer.ieee8022

Name Type Description
Ieee8022Llc simple module (no description)
Ieee8022LlcChecker simple module (no description)
Ieee8022LlcInserter simple module (no description)
Ieee8022LlcLayer compound module (no description)
Ieee8022LlcSocketCommandProcessor simple module (no description)
Ieee8022LlcSocketPacketProcessor simple module (no description)
Ieee8022LlcSocketTable simple module (no description)
Ieee8022SnapChecker simple module (no description)
Ieee8022SnapInserter simple module (no description)
IIeee8022LlcChecker module interface (no description)
IIeee8022LlcInserter module interface (no description)
IIeee8022LlcLayer module interface (no description)
IIeee8022SnapChecker module interface (no description)
IIeee8022SnapInserter module interface (no description)
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.

inet.linklayer.lmac

Name Type Description
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.

inet.linklayer.loopback

Name Type Description
Loopback simple module

Loopback interface module implementation.

LoopbackInterface compound module

Implements a loopback network interface.

inet.linklayer.mrp

Name Type Description
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.

inet.linklayer.ppp

Name Type Description
Ppp simple module

PPP implementation.

PppInterface compound module

Implements a PPP network interface.

inet.linklayer.shortcut

Name Type Description
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.

inet.linklayer.tun

Name Type Description
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.

inet.linklayer.virtual

Name Type Description
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.

inet.linklayer.vlan

Name Type Description
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.

inet.linklayer.xmac

Name Type Description
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.

inet.mobility.base

Name Type Description
MobilityBase simple module

Abstract base module for mobility models.

MovingMobilityBase simple module

Abstract base module for mobility models.

inet.mobility.contract

Name Type Description
IMobility module interface

The module interface for mobility models.

inet.mobility.group

Name Type Description
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.

inet.mobility.single

Name Type Description
AnsimMobility simple module

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

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.

BonnMotionMobility simple module

Uses the native file format of the BonnMotion tool.

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.

FacingMobility simple module

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

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.

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.

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.

Ns2MotionMobility simple module
RandomWaypointMobility simple module

Implements the Random Waypoint mobility model.

RectangleMobility simple module

Moves the node around a rectangle.

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.

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.

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.

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.

inet.mobility.static

Name Type Description
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.

inet.networklayer.arp.ipv4

Name Type Description
Arp simple module

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

GlobalArp simple module

Provides global address resolution without exchanging packets.

inet.networklayer.base

Name Type Description
NetworkProtocolBase simple module

Module base for different network protocols.

inet.networklayer.common

Name Type Description
EchoProtocol simple module

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

InterfaceTable simple module

Keeps the table of network interfaces.

NetfilterInfoHook simple module (no description)
NetworkInterface compound module

Serves as the base module for all network interfaces.

SimpleNetworkLayer compound module

Provides a simple network layer.

inet.networklayer.configurator.base

Name Type Description
L3NetworkConfiguratorBase simple module

Serves as a base module for layer 3 network configurators.

NetworkConfiguratorBase simple module (no description)

inet.networklayer.configurator.contract

Name Type Description
IIpv4NodeConfigurator module interface (no description)
IL3NetworkConfigurator module interface

Interface for all layer 3 network configurators.

INetworkConfigurator module interface

Interface for all network-wide configurator modules.

inet.networklayer.configurator.ipv4

Name Type Description
HostAutoConfigurator simple module

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

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.

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.

Ipv4NodeConfigurator simple module

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

inet.networklayer.configurator.ipv6

Name Type Description
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.

inet.networklayer.configurator.nexthop

Name Type Description
NextHopNetworkConfigurator simple module

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

inet.networklayer.contract

Name Type Description
IArp module interface

Interface for Address Resolution Protocol (ARP) implementations. Provides address resolution services for mapping network layer addresses (e.g., IPv4) to link layer addresses (e.g., MAC). Modules implementing this interface maintain a cache of address mappings and handle resolution requests from the network layer.

IIpv6Tunneling module interface

IPv6 Tunnel Manager

INetworkLayer module interface (no description)
INetworkLayerLower module interface (no description)
INetworkLayerUpper module interface

Interface for different network layers.

INetworkProtocol module interface

This interface provides an abstraction for different network protocols.

IRoutingTable module interface

Interface for different routing tables.

IxMIPv6Support module interface

Module interface for xMIPv6 modules (where x = F, H, F-H).

inet.networklayer.diffserv

Name Type Description
AFxyQueue compound module

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

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.

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.

DscpMarker simple module

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

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.

PacketMeterBase simple module (no description)
SingleRateThreeColorMeter simple module

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

TokenBucketMeter simple module

Simple token bucket meter.

TwoRateThreeColorMeter simple module

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

inet.networklayer.flooding

Name Type Description
Flooding simple module

A simple flooding protocol for network-level broadcast.

inet.networklayer.icmpv6

Name Type Description
Icmpv6 simple module

ICMPv6 implementation.

Ipv6NeighbourDiscovery simple module

Implements IPv6 Neighbor Discovery.

inet.networklayer.internetcloud

Name Type Description
ICloudDelayer module interface

Delay module interface for InternetCloud.

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.

inet.networklayer.ipv4

Name Type Description
Icmp simple module

ICMP implementation.

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 (no description)
IIgmp module interface

Module interface for IGMP modules.

IIpv4 module interface

Module interface for IPv4 protocol implementations. Defines gates and parameters for modules that provide IPv4 protocol functionality. The IPv4 protocol provides datagram routing, fragmentation, and addressing between network interfaces and transport layer protocols.

Ipv4 simple module

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

Ipv4NatTable simple module

Stores the network address translation table.

Ipv4NetworkLayer compound module

Network(1,2,3,4) layer of an IPv4 node.

Ipv4RoutingTable simple module

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

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.

inet.networklayer.ipv4.ipsec

Name Type Description
IPsec simple module

Implements basic IPsec (RFC 4301) functionality. It supports Authentication Header (AH) and Encapsulating Security Payload (ESP), in transport mode, for IPv4 unicast traffic (UDP/TCP/ICMP). 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).

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.

inet.networklayer.ipv6

Name Type Description
Ipv6 simple module

Implements the IPv6 protocol.

Ipv6NetworkLayer compound module

Represents an IPv6 network layer (L3).

Ipv6RoutingTable simple module

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

inet.networklayer.ipv6tunneling

Name Type Description
Ipv6Tunneling simple module

IPv6 Tunnel Manager

inet.networklayer.ldp

Name Type Description
Ldp simple module

Handles and processes LDP messages.

inet.networklayer.mpls

Name Type Description
IIngressClassifier module interface

Module interface for ingress packet classifiers for MPLS.

LibTable simple module

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

Mpls simple module

Implements the MPLS protocol.

inet.networklayer.nexthop

Name Type Description
NextHopForwarding simple module

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

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.

inet.networklayer.probabilistic

Name Type Description
AdaptiveProbabilisticBroadcast simple module

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

ProbabilisticBroadcast simple module

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

inet.networklayer.rsvpte

Name Type Description
RsvpClassifier simple module

Table-based ingress classifier.

RsvpTe simple module (no description)

inet.networklayer.ted

Name Type Description
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).

Ted simple module

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

inet.networklayer.wiseroute

Name Type Description
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.

inet.networklayer.xmipv6

Name Type Description
BindingCache simple module

~xMIPv6 Data structure for the HA and CN(s) only.

BindingUpdateList simple module

~xMIPv6 Data structure for the Mobile Node(1,2).

xMIPv6 simple module

Implements xMIPv6 (where x = F, H, F-H).

xMIPv6Support compound module

Implements xMIPv6 (where x = F, H, F-H).

inet.networks.base

Name Type Description
Ieee80211NetworkBase network (no description)
NetworkBase network (no description)
TsnNetworkBase network

Serves as a network base module for Time-Sensitive Networking (TSN).

WiredNetworkBase network (no description)
WirelessNetworkBase network (no description)

inet.networks.ethernet

Name Type Description
DumbbellNetwork network (no description)
LinearNetwork network (no description)

inet.networks.ppp

Name Type Description
LinearNetwork network (no description)

inet.networks.tsn

Name Type Description
TsnDumbbellNetwork network (no description)
TsnLinearNetwork network (no description)

inet.networks.wifi

Name Type Description
LinearNetwork network (no description)

inet.node.aodv

Name Type Description
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.

inet.node.base

Name Type Description
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.

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.

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.

NodeBase compound module

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

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.

inet.node.bgp

Name Type Description
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(1,2) module with BGP and OSPF functionality enabled.

inet.node.contract

Name Type Description
IEthernetNetworkNode module interface

Interface for all network nodes that have Ethernet connectivity. Extends the base INetworkNode interface by adding Ethernet-specific gates and parameters.

INetworkNode module interface

INetworkNode defines the common interface for all network node types in INET. It serves as the base interface that all node modules must implement to be recognized and treated as network nodes within the simulation.

inet.node.dsdv

Name Type Description
DsdvRouter compound module

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

inet.node.dymo

Name Type Description
DymoRouter compound module

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

inet.node.eigrp

Name Type Description
EigrpRouter compound module

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

inet.node.ethernet

Name Type Description
Eth100G channel

100 gigabit/sec Ethernet link

Eth100M channel

100 megabit/sec Ethernet link

Eth10G channel

10 gigabit/sec Ethernet link

Eth10M channel

10 megabit/sec Ethernet link

Eth1G channel

1 gigabit/sec Ethernet link

Eth200G channel

200 gigabit/sec Ethernet link

Eth400G channel

400 gigabit/sec Ethernet link

Eth40G channel

40 gigabit/sec Ethernet link

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.

EthernetLink channel

EthernetLink provides a base channel type for Ethernet connections with configurable length and propagation delay. It extends the Cable type and calculates the delay based on the physical length of the cable(1,2,3) and the speed of light in the medium.

EthernetMultidropLink channel

EthernetMultidropLink models a shared Ethernet medium in a bus topology where multiple nodes connect to a single cable(1,2,3). This channel type is used for simulating 10BASE-T1S with PLCA (Physical Layer Collision Avoidance) Ethernet that use a multidrop configuration.

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.

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.

inet.node.gpsr

Name Type Description
GpsrRouter compound module

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

inet.node.inet

Name Type Description
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.

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.

MulticastRouter compound module

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

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.

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.

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.

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.

inet.node.internetcloud

Name Type Description
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.

inet.node.ipv6

Name Type Description
Router6 compound module

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

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.

inet.node.mpls

Name Type Description
LdpMplsRouter compound module

An LDP-capable router.

RsvpMplsRouter compound module

An RSVP-TE capable router.

inet.node.mrp

Name Type Description
MrpSwitch compound module

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

inet.node.ospfv2

Name Type Description
OspfRouter compound module

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

inet.node.ospfv3

Name Type Description
Ospfv3Router compound module

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

inet.node.rip

Name Type Description
RipRouter compound module

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

inet.node.rtp

Name Type 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.

inet.node.tsn

Name Type Description
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.

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.

inet.node.wireless

Name Type Description
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.

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.

inet.node.xmipv6

Name Type Description
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.

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.

MobileHost6 compound module

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

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.

inet.physicallayer.wired.common

Name Type Description
WireJunction simple module

Models a generic wiring hub.

inet.physicallayer.wired.ethernet

Name Type Description
EthernetCsmaPhy simple module

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

EthernetFragmentPhyHeaderChecker simple module (no description)
EthernetFragmentPhyHeaderInserter 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.

EthernetPreemptingPhyLayer compound module (no description)
EthernetStreamingPhyLayer compound module (no description)
EthernetStreamThroughPhyLayer compound module (no description)
IEthernetPhyLayer module interface (no description)

inet.physicallayer.wireless.apsk.bitlevel

Name Type Description
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.

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.

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.

inet.physicallayer.wireless.apsk.bitlevel.errormodel

Name Type Description
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.

inet.physicallayer.wireless.apsk.packetlevel

Name Type Description
ApskDimensionalRadio compound module (no description)
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.

inet.physicallayer.wireless.apsk.packetlevel.errormodel

Name Type Description
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.

inet.physicallayer.wireless.common.analogmodel.dimensional

Name Type Description
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.

DimensionalReceiverAnalogModel simple module (no description)
DimensionalTransmitterAnalogModel compound module (no description)

inet.physicallayer.wireless.common.analogmodel.scalar

Name Type Description
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.

ScalarReceiverAnalogModel simple module (no description)
ScalarTransmitterAnalogModel compound module (no description)

inet.physicallayer.wireless.common.analogmodel.unitdisk

Name Type Description
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.

UnitDiskReceiverAnalogModel simple module

<b>See also:</b> ~UnitDiskRadioMedium, ~UnitDiskMediumAnalogModel, ~UnitDiskReceiverAnalogModel.

UnitDiskTransmitterAnalogModel compound module

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

inet.physicallayer.wireless.common.antenna

Name Type Description
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].

ConstantGainAntenna compound module

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

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.

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.

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].

IsotropicAntenna compound module

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

ParabolicAntenna compound module

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

inet.physicallayer.wireless.common.backgroundnoise

Name Type Description
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.

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.

inet.physicallayer.wireless.common.base.bitlevel

Name Type Description
LayeredErrorModelBase compound module (no description)

inet.physicallayer.wireless.common.base.packetlevel

Name Type Description
AntennaBase compound module

Serves as the base module for antenna models.

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.

ErrorModelBase compound module

Serves as the base module for error models.

FlatRadioBase compound module

Serves as a base module for flat radio models.

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.

PhysicalLayerBase simple module

Module base for different physical layers.

PropagationBase compound module

Serves as a base module for propagation models.

ReceiverBase compound module (no description)
SnirReceiverBase compound module

Serves as a base module for SNIR receiver models.

TracingObstacleLossBase compound module

Serves as a base module for tracing obstacle loss models.

TransmitterBase compound module (no description)

inet.physicallayer.wireless.common.communicationcache

Name Type Description
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 <b>and</b> dynamic radios, and with both short <b>and</b> long transmission durations.

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.

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 <b>either</b> static <b>or</b> short lived dynamic radios, and with only short transmission durations.

inet.physicallayer.wireless.common.contract.bitlevel

Name Type Description
IAnalogDigitalConverter module interface

Converts analog signal representations to digital sample representations in wireless communication systems. This module transforms continuous analog models into discrete sample models with a configurable sample rate, handling both header and data portions of the signal separately. It serves as a bridge between the analog domain and the digital processing domain, enabling detailed bit-level simulation of receiver signal processing chains.

IDecoder module interface

Interface for decoders in wireless communications. Decoders convert bit-level signal representations back into packet-level representations, performing the reverse of the encoding process. This typically involves operations such as descrambling, forward error correction (FEC) decoding, and deinterleaving. Implementations of this interface handle different wireless standards and encoding schemes, providing the final step in recovering transmitted data from received bits.

IDemodulator module interface

Module interface for demodulators in wireless communication systems. Demodulators convert symbols back to bits in the receiver's signal processing chain. They take a reception symbol model as input and produce a reception bit model as output by applying the inverse of the modulation scheme (such as BPSK, QPSK, QAM16, etc.) to each symbol to recover the original bit sequence.

IDigitalAnalogConverter module interface

Interface for digital-to-analog converter modules that transform discrete-time signal samples into continuous-time analog signals. This module represents the final stage in the digital signal processing chain before transmission over the wireless medium. It takes a sample model containing discrete signal samples as input and produces an analog model representing the continuous waveform as output. The conversion process typically involves interpolation between sample points to create a smooth analog signal.

IEncoder module interface

Module interface for bit-level encoders used in wireless communication systems. Encoders transform packet models into bit models by applying techniques such as scrambling, forward error correction (FEC), and interleaving. These processes add redundancy and structure to the data stream to improve transmission reliability over noisy channels.

IFecCoder module interface

Interface for Forward Error Correction (FEC) coders. Defines a common interface for modules that implement channel coding techniques to detect and correct transmission errors. FEC coders are used in bit-level physical layer simulations in wireless simulations to accurately model error correction capabilities of wireless protocols.

IInterleaver module interface

Module interface for bit-level interleavers used in wireless communication systems. Interleavers rearrange the order of bits in a data stream to spread the effects of burst errors, improving the performance of forward error correcting codes. Implementations provide methods for interleaving and deinterleaving bit sequences according to specific patterns.

ILayeredErrorModel module interface (no description)
IModulator module interface

Interface for digital modulator modules that convert sequences of bits into sequences of symbols. Modulators implement various modulation schemes (such as BPSK, QPSK, QAM, etc.) that determine how digital information is encoded into changes in the carrier signal's amplitude, frequency, or phase. The modulator takes a bit model as input and produces a symbol model as output, forming an essential component in the physical layer signal processing chain for wireless communication systems.

IPulseFilter module interface

Module interface for pulse filters in wireless communication systems. Pulse filters convert between the sample domain and the symbol domain in the receiver's signal processing chain. They take a reception sample model as input and produce a reception symbol model as output by extracting symbols from the received signal samples based on the configured samples per symbol ratio.

IPulseShaper module interface

Interface for pulse shaping components in wireless communications. Transforms symbol-domain signals into sample-domain signals by applying pulse shaping to digital symbols, creating a continuous-time waveform. Used in detailed physical layer simulations.

IScrambler module interface

Module interface for scramblers that convert input bit sequences into seemingly random output sequences of the same length. Scramblers are used in wireless communication systems to randomize data, avoid long sequences of identical bits, improve clock recovery, and reduce transmission errors. Implementations typically use generator polynomials and seed values to define the scrambling algorithm. This interface supports both scrambling and descrambling operations needed in encoders and decoders of various wireless protocols.

inet.physicallayer.wireless.common.contract.packetlevel

Name Type Description
IAntenna module interface

The antenna model describes the physical device (a part of the radio) which converts electric signals into radio waves, and vice versa.

IBackgroundNoise module interface

The background noise model describes the thermal noise, the cosmic background noise, and other random fluctuations of the electromagnetic field that affect the quality of the communication channel.

ICommunicationCache module interface

Module interface for communication caches that store and manage radio and transmission data in wireless networks. Provides efficient caching of intermediate computation results related to signal propagation, reception, and interference to improve simulation performance by avoiding redundant calculations.

IErrorModel module interface

The error model describes how the signal to noise ratio affects the amount of errors at the receiver.

IMediumAnalogModel module interface

The analog model describes how the analog representation of the transmissions is turned into the analog representation of the receptions.

IMediumLimitCache module interface

Module interface for caching 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.

INeighborCache module interface

The neighbor cache model computes the affected set of receivers on the medium for a given transmission.

IObstacleLoss module interface

The obstacle loss model describes the reduction of power as the signal passes through physical objects.

IPathLoss module interface

The path loss model describes the reduction of power as the signal propagates through space.

IPhysicalLayer module interface

Interface for the interface of different physical layers.

IPropagation module interface

The propagation model describes how a radio signal propagates through space over time.

IRadio module interface

Module interface for radio modules. Radio modules deal with the transmission of frames over a wireless medium (the radio medium).

IRadioMedium module interface

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.

IReceiver module interface

The receiver model describes the physical process that converts electric signals into packets.

IReceiverAnalogModel module interface

The receiver analog model describes the connecting piece between the technology-dependent part of the receivers and the different analog medium models.

ITransmitter module interface

The transmitter model models the physical process which converts packets into electrical signals.

ITransmitterAnalogModel module interface

The transmitter analog model describes the process which produces the signal analog domain representation.

inet.physicallayer.wireless.common.energyconsumer

Name Type Description
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.

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.

inet.physicallayer.wireless.common.errormodel.bitlevel

Name Type Description
StochasticLayeredErrorModel compound module (no description)

inet.physicallayer.wireless.common.errormodel.packetlevel

Name Type Description
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.

inet.physicallayer.wireless.common.medium

Name Type Description
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.

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.

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.

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.

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.

inet.physicallayer.wireless.common.neighborcache

Name Type Description
GridNeighborCache compound module

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

NeighborListNeighborCache compound module

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

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.

inet.physicallayer.wireless.common.obstacleloss

Name Type Description
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.

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.

inet.physicallayer.wireless.common.pathloss

Name Type Description
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.

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.

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.

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.

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.

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.

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.

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.

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.

inet.physicallayer.wireless.common.propagation

Name Type Description
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.

inet.physicallayer.wireless.common.radio.bitlevel

Name Type Description
AdditiveScrambler compound module

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

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.

inet.physicallayer.wireless.common.radio.packetlevel

Name Type 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.

inet.physicallayer.wireless.generic

Name Type Description
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)

inet.physicallayer.wireless.ieee80211.bitlevel

Name Type Description
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:

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

<b>See also:</b> ~Ieee80211OfdmModulator

Ieee80211OfdmEncoder compound module

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

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)

inet.physicallayer.wireless.ieee80211.bitlevel.errormodel

Name Type Description
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.

inet.physicallayer.wireless.ieee80211.packetlevel

Name Type Description
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.

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)

inet.physicallayer.wireless.ieee80211.packetlevel.errormodel

Name Type Description
Ieee80211BerTableErrorModel compound module (no description)
Ieee80211NistErrorModel compound module (no description)
Ieee80211YansErrorModel compound module (no description)

inet.physicallayer.wireless.ieee802154.bitlevel

Name Type Description
Ieee802154UwbIrRadio compound module (no description)
Ieee802154UwbIrRadioMedium compound module (no description)
Ieee802154UwbIrReceiver compound module (no description)
Ieee802154UwbIrTransmitter compound module (no description)

inet.physicallayer.wireless.ieee802154.packetlevel

Name Type Description
Ieee802154NarrowbandDimensionalRadio compound module (no description)
Ieee802154NarrowbandDimensionalRadioMedium 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)

inet.physicallayer.wireless.ieee802154.packetlevel.errormodel

Name Type Description
Ieee802154ErrorModel compound module (no description)

inet.physicallayer.wireless.noise

Name Type Description
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.

inet.physicallayer.wireless.shortcut

Name Type Description
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.

inet.power.base

Name Type Description
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.

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.

inet.power.consumer

Name Type Description
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.

inet.power.contract

Name Type Description
ICcEnergyConsumer module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with current [A], and storage capacity with charge [C] and output voltage [V]. The Cc is an abbreviation that is used for charge and current-based interfaces.

ICcEnergyGenerator module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with current [A], and storage capacity with charge [C] and output voltage [V]. The Cc is an abbreviation that is used for charge and current-based interfaces.

ICcEnergyManagement module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with current [A], and storage capacity with charge [C] and output voltage [V]. The Cc is an abbreviation that is used for charge and current based interfaces.

ICcEnergySink module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with current [A], and storage capacity with charge [C] and output voltage [V]. The Cc is an abbreviation that is used for charge and current-based interfaces.

ICcEnergySource module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with current [A], and storage capacity with charge [C] and output voltage [V]. The Cc is an abbreviation that is used for charge and current-based interfaces.

ICcEnergyStorage module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with current [A], and storage capacity with charge [C] and output voltage [V]. The Cc is an abbreviation that is used for charge and current based interfaces.

IEnergyConsumer module interface

The energy consumer models describe the energy consumption process of devices over time. For example, a radio consumes energy when it transmits or receives signals, or a CPU consumes energy when the network layer processes packets, or a display consumes energy when it's turned on, etc.

IEnergyGenerator module interface

The energy generator models describe the energy generation process of devices over time. A solar panel, for example, produces energy based on time, the panel's position on the globe, its orientation towards the sun, and the actual weather conditions.

IEnergyManagement module interface

The energy management models monitor an energy storage, estimate its state, and control the consumers and generators to protect the energy storage from operating outside its safe operating area.

IEnergySink module interface

The energy sink models absorbs energy from multiple energy generators.

IEnergySource module interface

The energy source models provide energy for multiple energy consumers.

IEnergyStorage module interface

The energy storage models describe devices that absorb energy produced by generators, and provide energy for consumers. For example, an electrochemical battery in a mobile phone provides energy for its display, its CPU, and its wireless communication device. It can also absorb energy produced by a solar panel installed on its display, or by a portable charger plugged into a wall socket.

IEpEnergyConsumer module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with power [W] and storage capacity with energy [J]. The Ep is an abbreviation that is used for energy and power based interfaces.

IEpEnergyGenerator module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with power [W] and storage capacity with energy [J]. The Ep is an abbreviation that is used for energy and power-based interfaces.

IEpEnergyManagement module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with power [W] and storage capacity with energy [J]. The Ep is an abbreviation that is used for energy and power based interfaces.

IEpEnergySink module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with power [W] and storage capacity with energy [J]. The abbreviation Ep is used for energy and power based interfaces.

IEpEnergySource module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with power [W] and storage capacity with energy [J]. The Ep is an abbreviation that is used for energy and power-based interfaces.

IEpEnergyStorage module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with power [W] and storage capacity with energy [J]. The Ep is an abbreviation that is used for energy and power-based interfaces.

inet.power.generator

Name Type Description
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.

inet.power.management

Name Type Description
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.

inet.power.storage

Name Type 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.

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.

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.

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.

inet.protocolelement.acknowledgement

Name Type Description
ReceiveWithAcknowledge simple module (no description)
Resending simple module (no description)
SendWithAcknowledge simple module (no description)

inet.protocolelement.aggregation

Name Type Description
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)

inet.protocolelement.aggregation.base

Name Type Description
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.

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.

inet.protocolelement.aggregation.contract

Name Type Description
IAggregatorPolicy module interface

Interface for aggregator policy modules that determine when packets can be aggregated. Implementations of this interface decide whether a new packet can be combined with the current set of aggregated packets based on various criteria such as size limits, timing constraints, or protocol-specific requirements. The policy module is consulted by the aggregator to make aggregation decisions.

IPacketAggregator module interface

Interface for packet aggregator modules that combine multiple packets into a single aggregated packet. Aggregation is a technique to improve network efficiency by reducing the overhead associated with transmitting many small packets. Implementations of this interface collect packets and combine them according to specific aggregation policies and protocols.

IPacketDeaggregator module interface

Interface for packet deaggregator modules that split an aggregated packet back into its original component packets. Deaggregation is the reverse process of aggregation, extracting the individual packets that were previously combined to reduce header overhead. Implementations of this interface receive an aggregated packet and forward each extracted subpacket separately.

inet.protocolelement.aggregation.policy

Name Type Description
LengthBasedAggregatorPolicy simple module

A policy for aggregating subpackets based on their length

inet.protocolelement.checksum

Name Type Description
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.

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.

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.

inet.protocolelement.checksum.base

Name Type 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.

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.

inet.protocolelement.common

Name Type Description
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.

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.

PacketDeserializer simple module (no description)
PacketDestreamer simple module

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

PacketEmitter simple module (no description)
PacketSerializer simple module

Serializes packets flowing from its input to its output.

PacketStreamer simple module

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

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.

ProtocolChecker simple module (no description)

inet.protocolelement.contract

Name Type Description
IPacketLifeTimer module interface (no description)
IProtocolHeaderChecker module interface

Module interface for protocol header checker components. Modules that implement this interface verify protocol-specific headers in packets and typically remove them after successful validation. These components act as packet filters that can drop invalid packets based on header information, ensuring protocol compliance and integrity. They are commonly used in protocol stacks to process incoming packets before passing them to higher layers.

IProtocolHeaderInserter module interface

Module interface for protocol header inserter components. Modules that implement this interface add protocol-specific headers to packets before they are transmitted. These components process packets by prepending or appending headers that contain protocol information such as addressing, control data, or authentication codes.

IProtocolLayer module interface

Interface for all protocol layer modules that connect to a higher and to a lower protocol layer, both of which are optional.

inet.protocolelement.cutthrough

Name Type Description
CutthroughSink simple module (no description)
CutthroughSource simple module (no description)

inet.protocolelement.dispatching

Name Type Description
ReceiveWithProtocol simple module (no description)
SendWithProtocol simple module (no description)

inet.protocolelement.forwarding

Name Type Description
Forwarding simple module (no description)
ReceiveWithHopLimit simple module (no description)
SendWithHopLimit simple module (no description)

inet.protocolelement.fragmentation

Name Type 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)
PreemptableStreamer simple module

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

inet.protocolelement.fragmentation.base

Name Type Description
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.

FragmenterBase compound module (no description)

inet.protocolelement.fragmentation.contract

Name Type Description
IFragmenterPolicy module interface

Module interface for fragmentation policies that determine how packets are split into fragments. Implementations calculate the appropriate fragment sizes based on various constraints such as maximum transmission unit.

IPacketDefragmenter module interface

Module interface for packet defragmenters that reassemble original packets from fragments. Implementations collect fragments and reconstruct the complete packet once all fragments have been received.

IPacketFragmenter module interface

Module interface for packet fragmenters that split packets into smaller fragments. Implementations divide packets that exceed maximum transmission size into multiple fragments that can be reassembled at the destination.

inet.protocolelement.fragmentation.policy

Name Type Description
LengthBasedFragmenterPolicy simple module (no description)

inet.protocolelement.lifetime

Name Type Description
CarrierBasedLifeTimer simple module (no description)

inet.protocolelement.measurement

Name Type Description
IMeasurementLayer module interface

Module interface for measurement layers that collect performance metrics on packet flows. Implementations monitor and record various statistics about packets passing through the network stack.

MeasurementLayer compound module (no description)
MultiMeasurementLayer compound module (no description)
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.

inet.protocolelement.ordering

Name Type Description
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.

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.

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.

inet.protocolelement.processing

Name Type Description
IProcessingDelayLayer module interface

Module interface for processing delay layers that model packet processing time in network devices. Implementations simulate the delay introduced by packet processing operations in both ingress and egress directions.

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.

ProcessingDelayLayer compound module (no description)

inet.protocolelement.redundancy

Name Type Description
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.

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.

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.

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.

inet.protocolelement.selectivity

Name Type Description
ReceiveAtL3Address simple module (no description)
ReceiveAtMacAddress simple module (no description)
ReceiveAtPort simple 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.

inet.protocolelement.service

Name Type Description
DataService compound module (no description)
ForwardingService compound module (no description)
InterfaceService compound module (no description)
MacService compound module (no description)
PeerService compound module (no description)
SelectivityService compound module (no description)

inet.protocolelement.shaper

Name Type 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.

GroupEligibilityTimeMeter simple module (no description)
GroupEligibilityTimeTable simple module (no description)

inet.protocolelement.socket

Name Type Description
ISocketLayer module interface (no description)
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.

inet.protocolelement.trafficconditioner

Name Type Description
ITrafficConditionerLayer module interface

Defines a module interface for traffic conditioner layer implementations. Traffic conditioner layers provide mechanisms for controlling packet flow through the network stack. They can shape, police, and condition traffic by applying various policies for dropping, delaying, or reordering packets in both ingress and egress directions.

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.

TrafficConditionerLayer compound module (no description)

inet.protocolelement.transceiver

Name Type Description
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.

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.

PacketTransmitter simple module

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

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.

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.

inet.protocolelement.transceiver.base

Name Type Description
PacketReceiverBase simple module (no description)
PacketTransmitterBase simple module (no description)
StreamingReceiverBase simple module (no description)
StreamingTransmitterBase simple module (no description)

inet.protocolelement.transceiver.contract

Name Type Description
IPacketReceiver module interface (no description)
IPacketTransmitter module interface (no description)

inet.queueing.base

Name Type Description
ActivePacketSinkBase simple module

Base module for various active packet sink modules.

ActivePacketSourceBase simple module

Base module for various active packet source modules.

PacketBufferBase simple module

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

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.

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.

PacketDuplicatorBase simple module

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

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.

PacketGateBase simple module

Base module for various packet gate modules.

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

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.

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.

PacketQueueBase simple module

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

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.

PacketServerBase simple module

Base module for various packet server modules.

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.

PacketTaggerBase simple module

Base module for various packet tagger modules.

PassivePacketSinkBase simple module

Base module for various active packet sink modules.

PassivePacketSourceBase simple module

Base module for various active packet source modules.

TokenGeneratorBase simple module

Base module for various token generator modules.

inet.queueing.buffer

Name Type Description
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.

PriorityBuffer simple module

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

inet.queueing.classifier

Name Type Description
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.

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.

DynamicClassifier simple module (no description)
LabelClassifier simple module

Classifies packets based on the attached labels in a ~LabelsTag.

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.

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.

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.

PriorityClassifier simple module

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

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.

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.

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.

UserPriorityClassifier simple module

Classifies packets based on the attached ~UserPriority tag.

WrrClassifier simple module

Implements a weighted round-robin classifier.

inet.queueing.common

Name Type Description
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.

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.

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.

OrdinalBasedDuplicator simple module

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

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.

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.

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.

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.

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.

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.

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.

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.

inet.queueing.contract

Name Type Description
IActivePacketSink module interface

Interface for active packet sink modules. An active packet sink, also called a collector, has one input that must be connected to a passive packet source module. The active packet sink is expected to pull packets from the connected passive packet source over time.

IActivePacketSource module interface

Interface for active packet source modules. An active packet source, also called a producer, has one output that must be connected to a passive packet sink module. The active packet source is expected to push packets into the connected passive packet sink over time.

IPacketBuffer module interface

Interface for packet buffer modules. A packet buffer is often used by packet queues to store packets in a limited shared resource. Packets can be added to and removed from a packet buffer. When the buffer becomes overloaded, one or more packets are dropped according to the configured dropping strategy. For each dropped packet, the packet owner is notified in order to update its internal state.

IPacketClassifier module interface

Interface for packet classifier modules. A packet classifier is a passive module which has one passive input and multiple active outputs. Packets pushed into the passive input are passed through to one of the active outputs without any delay or reordering.

IPacketDelayer module interface

Interface for packet delayers.

IPacketFilter module interface

Interface for packet filter modules. A packet filter connects one input to one output. It can operate in both active and passive mode. Packets can be pushed into its input or packets can be pulled from its output. Processed packets are either dropped, if they don't match the filter criteria, or they are passed through without any delay or reordering. Packets are not modified in any way.

IPacketFlow module interface

Interface for packet flows. A packet flow connects one input to one output. It can operate in both active and passive mode. Packets can be pushed into its input or packets can be pulled from its output. Packets are never dropped but the contents and/or attached meta information may be altered.

IPacketGate module interface

Interface for a packet gate. A packet gate connects one input to one output. It can operate in both active and passive mode. Packets can be pushed into its input or packets can be pulled from its output.

IPacketMarker module interface

Interface for packet marker modules. A packet marker connects one input to one output. It can operate in both active and passive mode. Packets can be pushed into its input or packets can be pulled from its output. When processing a packet, a marker attaches some information (such as a label) to the packet based on the data and metadata it contains. The packets are processed individually.

IPacketMeter module interface

Interface for packet meter modules. A packet meter connects one input to one output. It can operate in both active and passive mode. Packets can be pushed into its input or packets can be pulled from its output. When processing packets, a meter attaches some information (such as the packet rate) to the packets based on the data and metadata they contain. The packets are processed as part of a stream.

IPacketPolicing module interface

Interface for packet policing modules. A packet policing connects one input to one output. It operates in passive mode on its input and in active mode on its output. These modules usually meter various traffic properties and drop packets, but they never modify, delay or reorder packets.

IPacketPuller module interface

Interface for packet pullers. A packet puller connects one input to one output. Packets can be pulled from its output and it pulls packets from its input.

IPacketPusher module interface

Interface for packet pushers. A packet pusher connects one input to one output. Packets can be pushed into its input and it pushes packets into its output.

IPacketQueue module interface

Interface for packet queue modules. A packet queue is a passive module which has one passive input and one passive output. Packets pushed into the passive input are either stored or dropped. Packets pulled from the passive output are provided from the stored packets.

IPacketScheduler module interface

Interface for packet scheduler modules. A packet scheduler is a passive module which has multiple active inputs and one passive output. Packets pulled from the passive output are provided by one of the inputs without any delay and reordering.

IPacketServer module interface

Interface for packet server modules. A packet server is an active module which has one active input and one active output. Packets are pulled from the connected input module and pushed into the connected output module with an optional delay but without reordering.

IPacketShaper module interface

Interface for packet shaper modules. A packet shaper connects one input to one output. It operates in passive mode both on its input and its output. These modules may delay and reorder packets but they never modify or drop packets.

IPacketSink module interface

Interface for packet sink modules which are both passive and active simultaneously.

IPacketSource module interface

Interface for packet source modules which are both active and passive simultaneously.

IPassivePacketSink module interface

Interface for passive packet sink modules. A passive packet sink, also called a consumer, has one input that must be connected to an active packet source module. The connected active packet source is expected to push packets into the passive packet sink over time.

IPassivePacketSource module interface

Interface for passive packet source modules. A passive packet source, also called a provider, has one output that must be connected to an active packet sink module. The connected active packet sink is expected to pull packets from the passive packet source over time.

ITokenGenerator module interface

Interface for token generators.

ITrafficConditioner module interface

Interface for traffic conditioner modules. A traffic conditioner connects one input to one output. It operates in passive mode on its input and in active mode on its output. Packets can be pushed into its input and packets can be pulled from its output. A traffic conditioner can drop, delay, and reorder packets, but it doesn't modify packets in any way.

inet.queueing.filter

Name Type Description
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.

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.

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.

MultiPacketFilter compound module

Combines multiple packet filters into one.

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.

OrdinalBasedDropper simple module

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

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.

RedDropper simple module

Implements Random Early Detection (RED).

StatisticalRateLimiter simple module

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

inet.queueing.flow

Name Type Description
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.

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.

inet.queueing.gate

Name Type Description
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.

GateControlList simple module

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

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.

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.

PacketGate simple module

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

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.

inet.queueing.marker

Name Type Description
ContentBasedLabeler simple module

Attaches various request labels to packets.

ContentBasedTagger simple module

Attaches various request tags to packets.

EcnMarker simple module

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

PacketLabeler simple module

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

PacketTagger simple module

Attaches various request tags to packets.

inet.queueing.meter

Name Type Description
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.

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.

MultiPacketMeter compound module

Combines multiple packet meters into one.

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.

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.

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.

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.

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.

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.

inet.queueing.policing

Name Type Description
MultiPacketPolicing compound module

Combines multiple packet policing modules into one.

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.

inet.queueing.queue

Name Type Description
CompoundPacketQueueBase compound module

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

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.

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.

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.

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.

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.

PriorityQueue compound module

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

RedDropperQueue compound module

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

inet.queueing.scheduler

Name Type Description
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.

LabelScheduler simple module

Schedules packets based on the attached labels in a ~LabelsTag.

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.

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.

PriorityScheduler simple module

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

WrrScheduler simple module

Implements weighted round-robin scheduling.

inet.queueing.server

Name Type Description
InstantServer simple module

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

OmittedPacketServer compound module

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

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.

PreemptingServer simple module (no description)
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.

inet.queueing.shaper

Name Type Description
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.

CreditBasedShaper compound module

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

LeakyBucket compound module

Implements a parameterizable leaky bucket algorithm.

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.

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.

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.

TimeAwareShaper compound module

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

TokenBucket compound module

Implements a parameterizable token bucket algorithm.

inet.queueing.sink

Name Type Description
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.

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.

PassivePacketSink simple module

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

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.

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.

inet.queueing.source

Name Type Description
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.

BurstyPacketProducer compound module

Mixes two different packet sources to generate bursty traffic.

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.

PassivePacketSource simple module

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

PcapFilePacketProducer simple module

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

QueueFiller compound module

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

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.

inet.queueing.tokengenerator

Name Type Description
PacketBasedTokenGenerator simple module

Generates tokens into the configured ~TokenBasedServer for each consumed packet.

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.

SignalBasedTokenGenerator simple module

Generates tokens for a ~TokenBasedServer based on received signals.

TimeBasedTokenGenerator simple module

Generates tokens for a ~TokenBasedServer repeatedly.

inet.routing.aodv

Name Type Description
Aodv simple module

Ad hoc On-Demand Distance Vector Routing Protocol module.

inet.routing.bgpv4

Name Type Description
Bgp simple module

Implements BGP Version 4 routing protocol.

inet.routing.contract

Name Type Description
IBgp module interface

Interface for BGP routing module.

IEigrp module interface

Interface for routing protocol modules connected to IP Layer.

IManetRouting module interface

Defines a module interface for Mobile Ad-hoc Network(1,2,3,4) (MANET) routing protocols. MANET routing protocols are designed for wireless networks where nodes can move and the topology changes dynamically. Implementations include GPSR, DSDV, and DYMO protocols.

IOspf module interface

Interface for routing protocol modules connected to IP Layer.

IPim module interface

Defines a module interface for Protocol Independent Multicast (PIM) routing protocol implementations. PIM is used for multicast routing across IP networks, building distribution trees for multicast data.

inet.routing.dsdv

Name Type Description
Dsdv simple module

Implements Destination-Sequenced Distance Vector.

inet.routing.dymo

Name Type Description
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.

inet.routing.eigrp

Name Type Description
EigrpProcessDS compound module (no description)
EigrpRtp simple module (no description)
EigrpRtp6 simple module (no description)
EigrpSplitter simple module (no description)

inet.routing.eigrp.pdms

Name Type Description
EigrpIpv4Pdm simple module (no description)
EigrpIpv6Pdm simple module (no description)

inet.routing.eigrp.tables

Name Type Description
EigrpInterfaceTable simple module (no description)
EigrpIpv4NeighborTable simple module

TODO auto-generated module

EigrpIpv4TopologyTable simple module (no description)
EigrpIpv6NeighborTable simple module

TODO auto-generated module

EigrpIpv6TopologyTable simple module (no description)

inet.routing.gpsr

Name Type Description
Gpsr simple module

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

inet.routing.ospfv2

Name Type Description
Ospfv2 simple module

Implements the OSPFv2 routing protocol.

inet.routing.ospfv3

Name Type Description
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.

Ospfv3Splitter simple module (no description)

inet.routing.ospfv3.process

Name Type Description
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.

inet.routing.pim

Name Type Description
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.

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.

inet.routing.pim.modes

Name Type Description
PimDm simple module

Implementation of PIM-DM protocol (RFC 3973).

PimSm simple module

Implementation of PIM-SM protocol (RFC 4601).

inet.routing.pim.tables

Name Type Description
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.

inet.routing.rip

Name Type Description
Rip simple module

Routing Information Protocol.

inet.showcases.emulation.babel

Name Type Description
BabelShowcase network (no description)

inet.showcases.emulation.mininet

Name Type Description
AppContainer network (no description)

inet.showcases.emulation.videostreaming

Name Type Description
VideoStreamingShowcase network (no description)

inet.showcases.emulation.voip

Name Type Description
AppContainer network (no description)

inet.showcases.emulation.webserver

Name Type Description
WebserverShowcase network (no description)

inet.showcases.general.diffserv

Name Type Description
DiffservNetwork network (no description)
DiffservTrafficConditioner compound module

TODO documentation

inet.showcases.general.pcaprecording

Name Type Description
PcapRecordingShowcase network (no description)

inet.showcases.measurement.datarate

Name Type Description
DataRateMeasurementShowcase network (no description)

inet.showcases.measurement.endtoenddelay

Name Type Description
EndToEndDelayMeasurementShowcase network (no description)

inet.showcases.measurement.flow

Name Type Description
FlowMeasurementShowcase network (no description)
MyStandardHost compound module (no description)

inet.showcases.measurement.jitter

Name Type Description
JitterMeasurementShowcase network (no description)

inet.showcases.measurement.propagationtime

Name Type Description
PropagationTimeMeasurementShowcase network (no description)

inet.showcases.measurement.queueingtime

Name Type Description
QueueingTimeMeasurementShowcase network (no description)

inet.showcases.measurement.relationships

Name Type Description
MeasurementRelationshipsShowcase network (no description)

inet.showcases.measurement.residencetime

Name Type Description
ResidenceTimeMeasurementShowcase network (no description)

inet.showcases.measurement.throughput

Name Type Description
ChannelThroughputMeasurementShowcase network (no description)

inet.showcases.measurement.transmissiontime

Name Type Description
TransmissionTimeMeasurementShowcase network (no description)

inet.showcases.measurement.utilization

Name Type Description
ChannelUtilizationMeasurementShowcase network (no description)

inet.showcases.mobility.basic

Name Type Description
BasicMobilityShowcase network (no description)

inet.showcases.mobility.combining

Name Type Description
AntennaOrientation network (no description)
CombiningMobilityShowcase network (no description)

inet.showcases.mobility.spatial

Name Type Description
SpatialMobilityShowcase network (no description)

inet.showcases.quic.linksharing

Name Type Description
QuicLinkSharingShowcase network (no description)

inet.showcases.routing.aodvexternal

Name Type Description
AODVNetwork network

AODV network with an external Ethernet-connected host that can receive traffic from the wireless AODV network. The router acts as the gateway between the wireless AODV network and the wired Ethernet network.

inet.showcases.routing.manet

Name Type Description
ManetprotocolsShowcaseA network (no description)
ManetprotocolsShowcaseB network (no description)

inet.showcases.tsn.combiningfeatures.frerandcs

Name Type Description
AutomaticFailureProtectionShowcase network (no description)
LocalTsnSwitch compound module (no description)

inet.showcases.tsn.combiningfeatures.frerandtas

Name Type Description
FrerAndTasShowcase network (no description)
LocalTsnSwitch compound module (no description)

inet.showcases.tsn.combiningfeatures.gptpandtas

Name Type Description
GptpAndTasShowcase network (no description)

inet.showcases.tsn.combiningfeatures.invehicle

Name Type Description
InVehicleNetworkShowcase network (no description)

inet.showcases.tsn.cutthroughswitching

Name Type Description
CutthroughSwitchingShowcase network (no description)

inet.showcases.tsn.framepreemption

Name Type Description
FramePreemptionShowcase network (no description)

inet.showcases.tsn.framereplication.automaticfailureprotection

Name Type Description
AutomaticFailureProtectionShowcase network (no description)
LocalTsnSwitch compound module (no description)

inet.showcases.tsn.framereplication.automaticmultipathconfiguration

Name Type Description
AutomaticMultipathConfigurationShowcase network (no description)
LocalTsnSwitch compound module (no description)

inet.showcases.tsn.framereplication.manualconfiguration

Name Type Description
LocalTsnSwitch compound module (no description)
ManualConfigurationShowcase network (no description)

inet.showcases.tsn.framereplication.multicastfailureprotection

Name Type Description
MulticastFailureProtectionShowcase network (no description)

inet.showcases.tsn.gatescheduling

Name Type Description
TsnSwitch1 compound module (no description)
TsnSwitch2 compound module (no description)

inet.showcases.tsn.streamfiltering.statistical

Name Type Description
StatisticalPolicingShowcaseNetwork network (no description)

inet.showcases.tsn.streamfiltering.tokenbucket

Name Type Description
TokenBucketPolicingShowcaseNetwork network (no description)

inet.showcases.tsn.streamfiltering.underthehood

Name Type Description
PeekingUnderTheHoodShowcase network (no description)

inet.showcases.tsn.timesynchronization.clockdrift

Name Type Description
ClockDriftShowcase network (no description)

inet.showcases.tsn.timesynchronization.gptp

Name Type Description
OneMasterClockGptpShowcase network (no description)
TwoMasterClocksRingGptpShowcase network (no description)
TwoMasterClocksTreeGptpShowcase network (no description)

inet.showcases.tsn.trafficshaping.timeawareshaper

Name Type Description
TimeAwareShapingShowcaseNetwork network (no description)

inet.showcases.tsn.trafficshaping.underthehood

Name Type Description
PeekingUnderTheHoodShowcase network (no description)

inet.showcases.visualizer.canvas.datalinkactivity

Name Type Description
DataLinkVisualizerActivityLevelShowcase network (no description)
DataLinkVisualizerEnablingWiredShowcase network (no description)
DataLinkVisualizerEnablingWirelessShowcase network (no description)
DataLinkVisualizerFilteringShowcase network (no description)
DataLinkVisualizerMobileShowcase network (no description)

inet.showcases.visualizer.canvas.ieee80211

Name Type Description
Ieee80211VisualizationAdvancedFeaturesShowcase network (no description)
Ieee80211VisualizationDisplayingAssociationsShowcase network (no description)
Ieee80211VisualizationSignalLevelsShowcase network (no description)
Ieee80211VisualizationVisualizingHandoverShowcase network (no description)

inet.showcases.visualizer.canvas.instrumentfigures

Name Type Description
InstrumentShowcase network (no description)

inet.showcases.visualizer.canvas.interfacetable

Name Type Description
InterfaceTableVisualizationAdvancedFeaturesShowcase network (no description)
InterfaceTableVisualizationEnablingVisualizationShowcase network (no description)

inet.showcases.visualizer.canvas.mobility

Name Type Description
MobilityVisualizerShowcase network (no description)

inet.showcases.visualizer.canvas.networkpathactivity

Name Type Description
NetworkPathComplexShowcase network (no description)
NetworkPathMobileShowcase network (no description)
NetworkPathRIPShowcase network (no description)
NetworkPathSimpleShowcase network (no description)

inet.showcases.visualizer.canvas.packetdrop

Name Type Description
PacketDropArpResolutionFailedShowcase network (no description)
PacketDropInterfaceNotConnectedShowcase network (no description)
PacketDropMacRetryLimitReachedShowcase network (no description)
PacketDropNoRouteToDestinationShowcase network (no description)
PacketDropQueueOverflowShowcase network (no description)

inet.showcases.visualizer.canvas.physicallinkactivity

Name Type Description
PhysicalLinkVisualizerEnablingShowcase network (no description)
PhysicalLinkVisualizerFilteringShowcase network (no description)
PhysicalLinkVisualizerMobileShowcase network (no description)

inet.showcases.visualizer.canvas.radiomediumactivity

Name Type Description
MediumActivityDisplayingSignalsTransmissionsReceptionsShowcase network (no description)
MediumActivityInterferingSignalsShowcase network (no description)
MediumActivityMultipleNodesShowcase network (no description)

inet.showcases.visualizer.canvas.routingtable

Name Type Description
RoutingTableVisualizationDisplayingAllShowcase network (no description)
RoutingTableVisualizationDynamicShowcase network (no description)
RoutingTableVisualizationFilteringShowcase network (no description)

inet.showcases.visualizer.canvas.spectrum

Name Type Description
SpectrumShowcasePowerDensityMapNetwork network (no description)
SpectrumShowcaseSpectrumFigureSpectrogramNetwork network (no description)

inet.showcases.visualizer.canvas.statistic

Name Type Description
StatisticVisualizationPacketErrorRateShowcase network (no description)
StatisticVisualizationPingRttShowcase network (no description)

inet.showcases.visualizer.canvas.styling

Name Type Description
AnnotationShowcase network (no description)
StylingShowcase network (no description)

inet.showcases.visualizer.canvas.submoduleinfo

Name Type Description
SubmoduleInformationVisualizationShowcase network (no description)

inet.showcases.visualizer.canvas.transportconnection

Name Type Description
TransportConnectionVisualizationEnablingShowcase network (no description)
TransportConnectionVisualizationMultipleConnectionsShowcase network (no description)

inet.showcases.visualizer.canvas.transportpathactivity

Name Type Description
TransportPathVisualizerFilteringShowcase network (no description)
TransportPathVisualizerSimpleWiredShowcase network (no description)
TransportPathVisualizerSimpleWirelessShowcase network (no description)

inet.showcases.visualizer.osg.earth

Name Type Description
EarthVisualization2 network (no description)
EarthVisualization3 network (no description)
EarthVisualizationShowcase network (no description)

inet.showcases.visualizer.osg.environment

Name Type Description
PhysicalEnvironmentVisualizationShowcase network (no description)

inet.showcases.visualizer.osg.networknode

Name Type Description
NetworkNodeVisualizerShowcase network (no description)

inet.showcases.wireless.aggregation

Name Type Description
AggregationShowcase network (no description)

inet.showcases.wireless.analogmodel

Name Type Description
AnalogModelShowcaseDistanceNetwork network (no description)
AnalogModelShowcaseNoiseNetwork network (no description)
AnalogModelShowcaseRoutingNetwork network (no description)

inet.showcases.wireless.blockack

Name Type Description
BlockAckShowcase network (no description)

inet.showcases.wireless.coexistence

Name Type Description
CoexistenceShowcase network (no description)

inet.showcases.wireless.crosstalk

Name Type Description
CrosstalkShowcaseBaseNetwork network (no description)
CrosstalkShowcaseOneRadioMediumModule network (no description)
CrosstalkShowcaseTwoRadioMediumModules network (no description)

inet.showcases.wireless.directionalantennas

Name Type Description
DirectionalAntennasShowcase network (no description)

inet.showcases.wireless.errorrate

Name Type Description
ErrorRateShowcase network (no description)

inet.showcases.wireless.fragmentation

Name Type Description
FragmentationShowcase network (no description)

inet.showcases.wireless.handover

Name Type Description
HandoverShowcase network (no description)

inet.showcases.wireless.hiddennode

Name Type Description
HiddenNodeShowcase network (no description)

inet.showcases.wireless.ieee802154

Name Type Description
Ieee802154Showcase network (no description)

inet.showcases.wireless.multiradio

Name Type Description
MultiRadioShowcase network (no description)

inet.showcases.wireless.pathloss

Name Type Description
PathLossShowcase network (no description)

inet.showcases.wireless.power

Name Type Description
PowerConsumptionShowcase network (no description)

inet.showcases.wireless.qos

Name Type Description
QosShowcase network (no description)

inet.showcases.wireless.ratecontrol

Name Type Description
RateControlShowcase network (no description)

inet.showcases.wireless.sensornetwork

Name Type Description
ManetSensorNetwork network (no description)
ManetSensorNode compound module (no description)
SensorNetworkShowcaseA network (no description)
SensorNetworkShowcaseB network (no description)

inet.showcases.wireless.throughput

Name Type Description
Throughput network (no description)

inet.showcases.wireless.txop

Name Type Description
TxopShowcase network (no description)

inet.tests.ethernet

Name Type Description
EthernetHost2 compound module

An example host with one Ethernet interface and an Ethernet traffic generator directly connected to it. This host model does not contain higher layer protocols (IP, TCP). By default is configured to use half-duplex MAC (CSMA/CD).

HostsWithBus network (no description)
HostsWithHub network (no description)
HostsWithSwitch network (no description)
TwoHosts network (no description)

inet.transportlayer.base

Name Type Description
TransportProtocolBase simple module

Module base for different transport protocols.

inet.transportlayer.contract

Name Type Description
IQuic module interface

QUIC protocol interface.

ISctp module interface

Interface for SCTP protocol.

ITcp module interface

Interface for TCP protocol implementations. All TCP implementations should implement this (i.e. declared as: TCP like ITcp) The existing implementations are these: ~Tcp, ~TcpLwip, (and ~TcpNsc in the inet-gpl project).

IUdp module interface

UDP protocol interface.

inet.transportlayer.quic

Name Type Description
Quic simple module

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

inet.transportlayer.rtp

Name Type Description
IRTPPayloadReceiver module interface

Interface for RTP Payload Receivers.

IRtpPayloadSender module interface

Interface for RTP Payload Senders.

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.

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)
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.

inet.transportlayer.sctp

Name Type Description
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.

SctpNatHook simple module

SCTP NAT hook module.

SctpNatRouter compound module

SCTP NAT router

SctpNatTable simple module (no description)
SctpUdpHook simple module

SCTP UDP hook module.

inet.transportlayer.tcp

Name Type Description
Tcp simple module

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

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.

inet.transportlayer.tcp_common

Name Type Description
TcpChecksumInsertionHook simple module (no description)
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.

inet.transportlayer.tcp_lwip

Name Type Description
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.

inet.transportlayer.udp

Name Type Description
Udp simple module

UDP protocol implementation, for 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.

inet.tutorials.bgp

Name Type Description
BGP_Basic_Topology network (no description)
BGP_LOCAL_PREF network (no description)
BGP_Topology_1 network (no description)
BGP_Topology_1a network (no description)
BGP_Topology_2 network (no description)
BGP_Topology_3 network (no description)
BGP_Topology_4 network (no description)
Multihop_EBGP network (no description)

inet.tutorials.configurator

Name Type Description
ConfiguratorA network (no description)
ConfiguratorB network (no description)
ConfiguratorC network (no description)
ConfiguratorD network (no description)
ConfiguratorE network (no description)
Eth100MLong channel (no description)

inet.tutorials.fingerprint

Name Type Description
RegressionTestingTutorialWired network (no description)
RegressionTestingTutorialWireless network (no description)

inet.tutorials.ospf

Name Type Description
Freshness network (no description)
InterfaceNetworkType network (no description)
Network network (no description)
Network2 network (no description)
OSPF_Area_External network (no description)
OSPF_Area_External_Forwarding network (no description)
OSPF_Area_External_Same_Dest network (no description)
OSPF_AreaTest network (no description)
OSPF_Default_Route_Distribution network (no description)
OSPF_LoopAvoidance network (no description)
OSPF_Route_Selection network (no description)
OSPF_Stub network (no description)
OSPF_Suboptimal network (no description)
OSPF_Summary_LSA network (no description)
OspfLan compound module (no description)
OspfNetwork network (no description)
RouterLSA network (no description)
TopologyChange network (no description)
VirtualLink network (no description)
VirtualLink_2 network (no description)

inet.tutorials.protocol

Name Type Description
ClientApp compound module (no description)
ClientHost1 compound module (no description)
ClientHost2 compound module (no description)
ClientHost3 compound module (no description)
ClientHost4 compound module (no description)
ClientHost5 compound module (no description)
ClientHost6 compound module (no description)
ClientHost7 compound module (no description)
DataService compound module (no description)
DynamicDefragmenter compound module (no description)
ForwardingService compound module (no description)
Host compound module (no description)
IApp module interface (no description)
Interface compound module (no description)
Network1 network (no description)
Network2 network (no description)
Network3 network (no description)
Network4 network (no description)
Network5 network (no description)
Network6 network (no description)
Network7 network (no description)
Network90 network (no description)
Network91 network (no description)
Node compound module (no description)
ReceiverHost compound module (no description)
Router network (no description)
SenderHost compound module (no description)
ServerApp compound module (no description)
ServerHost1 compound module (no description)
ServerHost2 compound module (no description)
ServerHost3 compound module (no description)
ServerHost4 compound module (no description)
ServerHost5 compound module (no description)
ServerHost6 compound module (no description)
ServerHost7 compound module (no description)

inet.tutorials.queueing

Name Type Description
BufferTutorialStep network (no description)
ClonerTutorialStep network (no description)
ComparatorTutorialStep network (no description)
CompoundPacketQueueTutorialStep network (no description)
ContentBasedClassifierTutorialStep network (no description)
ContentBasedSchedulerTutorialStep network (no description)
ContentBasedTaggerTutorialStep network (no description)
DelayerTutorialStep network (no description)
DemultiplexerTutorialStep network (no description)
DropTailQueueTutorialStep network (no description)
DuplicatorTutorialStep network (no description)
ExampleCable compound module (no description)
ExampleCompoundPriorityQueue compound module (no description)
ExampleHost compound module (no description)
ExampleInterface compound module (no description)
ExampleNetworkTutorialStep network (no description)
Filter1TutorialStep network (no description)
Filter2TutorialStep network (no description)
Gate1TutorialStep network (no description)
Gate2TutorialStep network (no description)
GenericClassifierTutorialStep network (no description)
GenericSchedulerTutorialStep network (no description)
InputQueueSwitching network (no description)
LabelerTutorialStep network (no description)
LeakyBucketTutorialStep network (no description)
MarkovClassifierTutorialStep network (no description)
MarkovSchedulerTutorialStep network (no description)
MeterTutorialStep network (no description)
MultiplexerTutorialStep network (no description)
OrdinalBasedDropperTutorialStep network (no description)
OrdinalBasedDuplicatorTutorialStep network (no description)
OutputQueueSwitching network (no description)
PacketBasedTokenGeneratorTutorialStep network (no description)
PacketQueueTutorialStep network (no description)
PriorityBufferTutorialStep network (no description)
PriorityClassifierTutorialStep network (no description)
PriorityQueueTutorialStep network (no description)
PrioritySchedulerTutorialStep network (no description)
ProducerConsumerTutorialStep network (no description)
ProviderCollectorTutorialStep network (no description)
QueueBasedTokenGeneratorTutorialStep network (no description)
QueueFillerTutorialStep network (no description)
RedDropperTutorialStep network (no description)
RequestResponseTutorialStep network (no description)
ServerTutorialStep network (no description)
SignalBasedTokenGeneratorTutorialStep network (no description)
TaggerTutorialStep network (no description)
TelnetClientTraffic compound module (no description)
TelnetServerTraffic compound module (no description)
TelnetTutorialStep network (no description)
TimeBasedTokenGeneratorTutorialStep network (no description)
TokenBasedServerTutorialStep network (no description)
TokenBucketTutorialStep network (no description)
WrrClassifierTutorialStep network (no description)
WrrSchedulerTutorialStep network (no description)

inet.tutorials.rip

Name Type Description
RipNetworkA network (no description)
RipNetworkB network (no description)
RipNetworkC network (no description)

inet.tutorials.wireless

Name Type Description
WirelessA network (no description)
WirelessB network (no description)
WirelessC network (no description)

inet.validation.tsn.framereplication

Name Type Description
FrameReplicationValidation network (no description)

inet.validation.tsn.trafficshaping.asynchronousshaper.core4inet

Name Type Description
AsynchronousShaperValidation network (no description)

inet.validation.tsn.trafficshaping.asynchronousshaper.icct

Name Type Description
AsynchronousShaperValidation network (no description)

inet.validation.tsn.trafficshaping.creditbasedshaper

Name Type Description
CreditBasedShaperValidation network (no description)

inet.visualizer.base

Name Type Description
ChannelVisualizerBase simple module (no description)
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.

EnergyStorageVisualizerBase simple module

Base module for energy storage visualizer simple modules.

GateScheduleVisualizerBase simple module

Base module for gate visualizer simple modules.

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.

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.

InterfaceTableVisualizerBase simple module

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

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.

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.

MediumVisualizerBase simple module

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

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.

NetworkConnectionVisualizerBase simple module

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

NetworkNodeVisualizerBase simple module

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

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.

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.

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.

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.

QueueVisualizerBase simple module

Base module for queue visualizer simple modules.

RadioVisualizerBase simple module

Base module for radio visualizer simple modules.

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.

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.

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.

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.

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.

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.

VisualizerBase simple module

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

inet.visualizer.canvas.common

Name Type Description
GateScheduleCanvasVisualizer simple module

Visualizes gates on a 2D canvas.

InfoCanvasVisualizer simple module

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

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.

QueueCanvasVisualizer simple module

Visualizes queues on a 2D canvas.

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.

inet.visualizer.canvas.configurator

Name Type Description
FailureProtectionConfigurationCanvasVisualizer simple 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.

inet.visualizer.canvas.environment

Name Type Description
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.

inet.visualizer.canvas.flow

Name Type Description
PacketFlowCanvasVisualizer simple module (no description)

inet.visualizer.canvas.integrated

Name Type Description
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.

inet.visualizer.canvas.linklayer

Name Type 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.

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.

InterfaceTableCanvasVisualizer simple module

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

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.

inet.visualizer.canvas.mobility

Name Type Description
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.

inet.visualizer.canvas.networklayer

Name Type Description
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.

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.

inet.visualizer.canvas.physicallayer

Name Type Description
ChannelCanvasVisualizer simple 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.

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.

RadioCanvasVisualizer simple module

Visualizes radios on a 2D canvas.

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.

inet.visualizer.canvas.power

Name Type Description
EnergyStorageCanvasVisualizer simple module

Visualizes energyStorages on a 2D canvas.

inet.visualizer.canvas.scene

Name Type Description
NetworkConnectionCanvasVisualizer simple module

Visualizes multiple network connections on a 2D canvas.

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.

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.

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.

inet.visualizer.canvas.transportlayer

Name Type 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.

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.

inet.visualizer.common

Name Type Description
DataLinkVisualizer compound module

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

EnergyStorageVisualizer compound module

Integrates canvas and osg energyStorage visualizers into a single module.

GateScheduleVisualizer compound module

Integrates canvas and osg gate visualizers into a single module.

Ieee80211Visualizer compound module

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

InfoVisualizer compound module

Integrates canvas and osg info visualizers into a single module.

IntegratedMultiVisualizer compound module

Integrates canvas and osg visualizers into a single module.

IntegratedVisualizer compound module

Integrates canvas and osg visualizers into a single module.

InterfaceTableVisualizer compound module (no description)
LinkBreakVisualizer compound module

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

MediumVisualizer compound module

Integrates canvas and osg medium visualizers into a single module.

MobilityVisualizer compound module

Integrates canvas and osg mobility visualizers into a single module.

NetworkConnectionVisualizer compound module

Integrates canvas and OSG connection visualizers into a single module.

NetworkNodeVisualizer compound module

Integrates canvas and osg node visualizers into a single module.

NetworkRouteVisualizer compound module

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

PacketDropVisualizer compound module

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

PacketFlowVisualizer compound module (no description)
PhysicalEnvironmentVisualizer compound module

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

PhysicalLinkVisualizer compound module

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

QueueVisualizer compound module

Integrates canvas and osg queue visualizers into a single module.

RadioVisualizer compound module

Integrates canvas and osg radio visualizers into a single module.

RoutingTableVisualizer compound module

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

SceneVisualizer compound module

Integrates canvas and osg scene visualizers into a single module.

StatisticVisualizer compound module

Integrates canvas and osg statistic visualizers into a single module.

TracingObstacleLossVisualizer compound module

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

TransportConnectionVisualizer compound module

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

TransportRouteVisualizer compound module

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

inet.visualizer.contract

Name Type Description
IChannelVisualizer module interface (no description)
IDataLinkVisualizer module interface

Interface allows configuring different ~IDataLinkVisualizer submodules from INI files. Such a visualizer displays the active data link layer links in a network.

IEnergyStorageVisualizer module interface

Interface allows configuring different ~IEnergyStorageVisualizer submodules from INI files. Such a visualizer displays energy storages.

IFailureProtectionConfigurationVisualizer module interface

Interface allows configuring different ~IFailureProtectionConfigurationVisualizer submodules from INI files. Such a visualizer displays the TSN configuration in a network.

IGateScheduleVisualizer module interface

Interface allows configuring different ~IGateScheduleVisualizer submodules from INI files. Such a visualizer displays gates.

IIeee80211Visualizer module interface

Interface allows configuring different ~IIeee80211Visualizer submodules from INI files. Such a visualizer displays IEEE 802.11 network interface associations.

IInfoVisualizer module interface

Interface allows configuring different ~IInfoVisualizer submodules from INI files. Such a visualizer displays various information from submodules of network nodes.

IIntegratedVisualizer module interface

Interface allows configuring different ~IIntegratedVisualizer submodules from INI files. Integrated visualizers are compound modules, they do not display anything on their own. Instead, they combine multiple visualizers, most often simple modules, to provide a convenient way to add complex visualizations to a simulation.

IInterfaceTableVisualizer module interface

Interface allows configuring different ~IInterfaceTableVisualizer submodules from INI files. Such a visualizer displays various information for network interfaces present in the interface tables of a network.

ILinkBreakVisualizer module interface

Interface allows configuring different ~ILinkBreakVisualizer submodules from INI files. Such a visualizer displays the data link breaks in a network.

IMediumVisualizer module interface

Interface allows configuring different ~IMediumVisualizer submodules from INI files. Such a visualizer displays transmitting nodes, receiving nodes, and propagating radio signals on a medium.

IMobilityVisualizer module interface

Interface allows configuring different ~IMobilityVisualizer submodules from INI files. Such a visualizer updates the position (among others) of visual representations according to the corresponding mobility model.

INetworkConnectionVisualizer module interface

Interface allows configuring different ~INetworkConnectionVisualizer submodules from INI files. Such a visualizer creates the visual representations of network connections.

INetworkNodeVisualizer module interface

Interface allows configuring different ~INetworkNodeVisualizer submodules from INI files. Such a visualizer creates the visual representations of network nodes.

INetworkRouteVisualizer module interface

Interface allows configuring different ~INetworkRouteVisualizer submodules from INI files. Such a visualizer displays active network routes in a network.

IPacketDropVisualizer module interface

Interface allows configuring different ~IPacketDropVisualizer submodules from INI files. Such a visualizer displays the packet drops in a network.

IPacketFlowVisualizer module interface (no description)
IPhysicalEnvironmentVisualizer module interface

Interface allows configuring different ~IPhysicalEnvironmentVisualizer submodules from INI files. Such a visualizer displays the physical objects present in the physical environment.

IPhysicalLinkVisualizer module interface

Interface allows configuring different ~IPhysicalLinkVisualizer submodules from INI files. Such a visualizer displays the active physical layer links in a network.

IQueueVisualizer module interface

Interface allows configuring different ~IQueueVisualizer submodules from INI files. Such a visualizer displays queues.

IRadioVisualizer module interface

Interface allows configuring different ~IRadioVisualizer submodules from INI files. Such a visualizer displays radios.

IRoutingTableVisualizer module interface

Interface allows configuring different ~IRoutingTableVisualizer submodules from INI files. Such a visualizer displays routes present in the routing tables of a network.

ISceneVisualizer module interface

Interface allows configuring different ~ISceneVisualizer submodules from INI files. Such a visualizer displays the scene, the coordinate axes, sets up the initial viewpoint, etc.

IStatisticVisualizer module interface

Interface allows configuring different ~IStatisticVisualizer submodules from INI files. Such a visualizer displays a statistic for multiple network nodes.

IStreamRedundancyConfigurationVisualizer module interface

Interface allows configuring different ~IStreamRedundancyConfigurationVisualizer submodules from INI files. Such a visualizer displays the StreamRedundancy configuration in a network.

ITracingObstacleLossVisualizer module interface

Interface allows configuring different ~ITracingObstacleLossVisualizer submodules from INI files. Such a visualizer displays obstacle loss during wireless signal propagation.

ITransportConnectionVisualizer module interface

Interface allows configuring different ~ITransportConnectionVisualizer submodules from INI files. Such a visualizer displays the active transport connections in a network.

ITransportRouteVisualizer module interface

Interface allows configuring different ~ITransportRouteVisualizer submodules from INI files. Such a visualizer displays active transport routes in a network.

IVisualizer module interface

Base interface for all visualizer module interfaces in the INET Framework. Defines common parameters for specifying visualization target and subject modules. Visualizers provide graphical representation of various aspects of network simulation, such as links, traffic flows, routing paths, and network state information.

inet.visualizer.osg.base

Name Type Description
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.

inet.visualizer.osg.common

Name Type Description
GateScheduleOsgVisualizer simple module

Visualizes gates on a 3D osg scene.

InfoOsgVisualizer simple module

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

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.

QueueOsgVisualizer simple module

Visualizes queues on a 3D osg scene.

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.

inet.visualizer.osg.environment

Name Type Description
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.

inet.visualizer.osg.flow

Name Type Description
PacketFlowOsgVisualizer simple module (no description)

inet.visualizer.osg.integrated

Name Type Description
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.

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.

inet.visualizer.osg.linklayer

Name Type Description
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.

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.

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.

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.

inet.visualizer.osg.mobility

Name Type Description
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.

inet.visualizer.osg.networklayer

Name Type Description
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.

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.

inet.visualizer.osg.physicallayer

Name Type Description
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.

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.

RadioOsgVisualizer simple module

Visualizes radios on a 3D osg scene.

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.

inet.visualizer.osg.power

Name Type Description
EnergyStorageOsgVisualizer simple module

Visualizes energy storages on a 3D OSG scene.

inet.visualizer.osg.scene

Name Type Description
NetworkConnectionOsgVisualizer simple module

Visualizes multiple network connections on a 3D OSG scene.

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.

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.

inet.visualizer.osg.transportlayer

Name Type Description
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.

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.

ned

Name Type Description
DatarateChannel channel (no description)
DelayChannel channel (no description)
IBidirectionalChannel module interface (no description)
IdealChannel channel (no description)
IUnidirectionalChannel module interface (no description)