INetworkInterface

Package: inet.linklayer.contract

module interface INetworkInterface

Interface for network interfaces.

Inheritance diagram

Implemented by

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.

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.

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.

WirelessInterface

compound module

Implements a generic wireless network interface.

CsmaCaInterface

compound module

Module interface for CSMA/CA network interfaces.

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.

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.

LayeredEthernetInterface

compound module

Implements an Ethernet network interface.

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.

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.

XMacInterface

compound module

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

Ipv6TunnelInterface

compound module

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

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