INetworkLayerUpper

Package: inet.networklayer.contract

module interface INetworkLayerUpper

Interface for different network layers.

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.

Known subclasses

Name

Type

Description

INetworkLayer

module interface

(no description)

Properties

Name

Value

Description

display

i=block/fork

Source code

//
// Interface for different network layers.
//
moduleinterface INetworkLayerUpper
{
    parameters:
        @display("i=block/fork");
    gates:
        input transportIn @labels(ITransportPacket/down);
        output transportOut @labels(ITransportPacket/up);
}

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