IEthernetNetworkNode

Package: inet.node.contract

IEthernetNetworkNode

module interface

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

This interface is implemented by various node types that participate in Ethernet networks, such as hosts, switches, and routers with Ethernet interfaces. It ensures that all Ethernet-capable nodes have the necessary gates to connect to Ethernet networks.

<b>See also:</b> ~EthernetHost, ~EthernetSwitch, ~StandardHost, ~Router(1,2)

Inheritance diagram

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

Implemented by

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.

AodvRouter compound module

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

ApplicationLayerNodeBase compound module

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

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.

BurstHost compound module

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

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.

DsdvRouter compound module

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

DymoRouter compound module

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

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.

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.

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.

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.

GpsrRouter compound module (no 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.

GpsrStandardHost compound module (no description)
GpsrWirelessHost compound module (no description)
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.

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.

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.

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.

LocalTsnSwitch compound module (no description)
LocalTsnSwitch compound module (no description)
LocalTsnSwitch compound module (no description)
LocalTsnSwitch compound module (no description)
LocalTsnSwitch compound module (no description)
ManetRouter compound module

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

ManetSensorNode compound module (no description)
MobileHost6 compound module

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

MrpSwitch compound module

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

MulticastRouter compound module

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

MyHost compound module (no description)
MyRouter compound module (no description)
MyStandardHost compound module (no description)
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.

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.

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.

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.

Router compound module

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

Router6 compound module

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

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.

SctpNatRouter compound module

SCTP NAT router

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.

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.

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.

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.

TsnSwitch1 compound module (no description)
TsnSwitch2 compound module (no description)
WirelessHost compound module

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

WirelessHost6 compound module

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

Used in

Name Type Description
DumbbellNetwork network (no description)
FlowMeasurementShowcase network (no description)
InVehicleNetworkShowcase network (no description)
LinearNetwork network (no description)
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.

StatisticalPolicingShowcaseNetwork network (no description)
TokenBucketPolicingShowcaseNetwork network (no description)
TsnDumbbellNetwork network (no description)
TsnLinearNetwork network (no description)

Extends

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

Parameters

Name Type Default value Description
numEthInterfaces int

Properties

Name Value Description
display i=device/pc
networkNode
labels node

Source code

//
// Interface for all network nodes that have Ethernet connectivity. Extends the base
// INetworkNode interface by adding Ethernet-specific gates and parameters.
//
// This interface is implemented by various node types that participate in
// Ethernet networks, such as hosts, switches, and routers with Ethernet interfaces.
// It ensures that all Ethernet-capable nodes have the necessary gates to connect
// to Ethernet networks.
//
// @see ~EthernetHost, ~EthernetSwitch, ~StandardHost, ~Router
//
moduleinterface IEthernetNetworkNode extends INetworkNode
{
    parameters:
        int numEthInterfaces;
        @display("i=device/pc");
    gates:
        inout ethg[numEthInterfaces];
}

File: src/inet/node/contract/IEthernetNetworkNode.ned