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