INetworkLayer

Package: inet.networklayer.contract

module interface INetworkLayer

(no description)

Usage diagram

Inheritance diagram

Implemented by

Name

Type

Description

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.

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.

SimpleNetworkLayer

compound module

Provides a simple network layer.

Ipv4NetworkLayer

compound module

Network layer of an IPv4 node.

Ipv6NetworkLayer

compound module

Represents a complete IPv6 network layer (L3), to be used within hosts and routers. It connects to higher-layer protocols (TCP, UDP, …) on top and to the network interfaces below, and bundles the modules that together implement IPv6:

NextHopNetworkLayer

compound module

Provides a network layer for the next hop forwarding.

WiseRouteNetworkLayer

compound module

Provides a simple network layer.

Used in compound modules

Name

Type

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.

Extends

Name

Type

Description

INetworkLayerUpper

module interface

Interface for different network layers.

INetworkLayerLower

module interface

(no description)

Properties

Name

Value

Description

display

i=block/fork

Source code

moduleinterface INetworkLayer extends INetworkLayerUpper, INetworkLayerLower
{
    parameters:
        @display("i=block/fork");
}

File: src/inet/networklayer/contract/INetworkLayer.ned