Ipv6NodeConfigurator

Package: inet.networklayer.configurator.ipv6

simple module Ipv6NodeConfigurator

Configures the containing network node using information provided by the network’s global configurator module Ipv6NetworkConfigurator.

Ipv6NetworkConfigurator only computes and remembers configuration data (assigned IPv6 addresses, static routes, etc), but doesn’t configure the nodes’ routing tables and interfaces accordingly. The actual configuration is carried out by this module, at network initialization time and also when the node restarts (i.e. after a shutdown or a crash.)

This module is needed because of failure/restart scenarios: Ipv6NetworkConfigurator would not be able to configure the node after a restart, because being a global module, it doesn’t know about node lifecycle events.

inet.networklayer.configurator.ipv6.Ipv6NodeConfiguratorIpv6NodeConfiguratorsimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

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:

Extends

Name

Type

Description

SimpleModule

simple module

Base module for all INET simple modules.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

interfaceTableModule

string

routingTableModule

string

networkConfiguratorModule

string

“”

The absolute path to the Ipv6NetworkConfigurator; use “” if there is no configurator

configureRoutingTable

bool

true

Properties

Name

Value

Description

class

Ipv6NodeConfigurator

display

i=block/cogwheel

Source code

//
// Configures the containing network node using information provided by
// the network's global configurator module ~Ipv6NetworkConfigurator.
//
// ~Ipv6NetworkConfigurator only computes and remembers configuration data
// (assigned IPv6 addresses, static routes, etc), but doesn't configure the
// nodes' routing tables and interfaces accordingly. The actual configuration
// is carried out by this module, at network initialization time and also when
// the node restarts (i.e. after a shutdown or a crash.)
//
// This module is needed because of failure/restart scenarios:
// ~Ipv6NetworkConfigurator would not be able to configure the node after
// a restart, because being a global module, it doesn't know about node
// lifecycle events.
//
simple Ipv6NodeConfigurator extends SimpleModule like IIpv6NodeConfigurator
{
    parameters:
        @class(Ipv6NodeConfigurator);
        string interfaceTableModule;
        string routingTableModule;
        string networkConfiguratorModule = default(""); // The absolute path to the Ipv6NetworkConfigurator; use "" if there is no configurator
        bool configureRoutingTable = default(true);
        @display("i=block/cogwheel");
}

File: src/inet/networklayer/configurator/ipv6/Ipv6NodeConfigurator.ned