INetworkInterface

Package: inet.linklayer.contract

INetworkInterface

module interface

Interface for network interfaces.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Implemented by

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

BMacInterface compound module

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

CsmaCaInterface compound module

Module interface for CSMA/CA network interfaces.

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.

EthernetInterface compound module

Represents an Ethernet network interface.

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.

ExtInterface compound module

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

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.

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.

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.

Ieee802154NarrowbandInterface compound module

Implements an IEEE 802.15.4 narrowband network interface.

Ieee802154UwbIrInterface compound module

Implements an IEEE 802.15.4 UWB-IR network interface.

LayeredEthernetInterface compound module

Implements an Ethernet network interface.

LMacInterface compound module

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

LoopbackInterface compound module

Implements a loopback network interface.

PppInterface compound module

Implements a PPP network interface.

ShortcutInterface compound module

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

TunInterface compound module

Implements a (simulated) TUN network interface.

VirtualInterface compound module

Implements a virtual network interface.

WirelessInterface compound module

Implements a generic wireless network interface.

XMacInterface compound module

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

Known subclasses

Name Type Description
IExternalInterface module interface

Interface for external network interfaces.

ILoopbackInterface module interface

Interface for loopback network interfaces.

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.

Properties

Name Value Description
display i=block/ifcard

Source code

//
// Interface for network interfaces.
//
moduleinterface INetworkInterface
{
    parameters:
        @display("i=block/ifcard");
    gates:
        input upperLayerIn;
        output upperLayerOut;
}

File: src/inet/linklayer/contract/INetworkInterface.ned