Network LDPTEST

Package: inet.examples.mpls.ldp
File: examples/mpls/ldp/LDPTEST.ned

(no description)

LDP_LSR LDP_LSR LDP_LSR LDP_LSR LDP_LSR StandardHost StandardHost StandardHost StandardHost ScenarioManager LifecycleController

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

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

Properties:

Name Value Description
isNetwork

Unassigned submodule parameters:

Name Type Default value Description
LSR1.status.initialStatus string "UP"

TODO @signal, @statistic

LSR1.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

LSR1.routingTable.interfaceTableModule string

The path to the InterfaceTable module

LSR1.routingTable.netmaskRoutes string "*"

maintain netmask routes for interfaces

LSR1.routingTable.multicastForwarding bool false

turns multicast forwarding on/off

LSR1.routingTable.useAdminDist bool false

Use Cisco like administrative distances

LSR1.routingTable.routingFile string ""

routing table file name

LSR1.ldp.interfaceTableModule string

The path to the InterfaceTable module

LSR1.ldp.routingTableModule string
LSR1.ldp.libTableModule string
LSR1.ldp.tedModule string
LSR1.ldp.dataTransferMode string "bytecount"

TCP data transfer mode

LSR1.ted.interfaceTableModule string

The path to the InterfaceTable module

LSR1.ted.routingTableModule string
LSR1.linkStateRouting.interfaceTableModule string

The path to the InterfaceTable module

LSR1.linkStateRouting.routingTableModule string
LSR1.linkStateRouting.tedModule string
LSR1.networkLayer.configurator.interfaceTableModule string

The path to the InterfaceTable module

LSR1.networkLayer.configurator.networkConfiguratorModule string "configurator"

TODO: eventually rename to networkConfigurator

LSR1.networkLayer.configurator.configureRoutingTable bool true

add routing entries to routing table (uses the configurator module)

LSR1.networkLayer.ip.interfaceTableModule string

The path to the InterfaceTable module

LSR1.networkLayer.ip.routingTableModule string
LSR1.networkLayer.ip.arpModule string
LSR1.networkLayer.ip.icmpModule string
LSR1.networkLayer.ip.procDelay double 0s
LSR1.networkLayer.ip.timeToLive int 32
LSR1.networkLayer.ip.multicastTimeToLive int 32
LSR1.networkLayer.ip.fragmentTimeout double 60s
LSR1.networkLayer.ip.forceBroadcast bool false
LSR1.networkLayer.icmp.interfaceTableModule string

The path to the InterfaceTable module

LSR1.networkLayer.icmp.routingTableModule string
LSR1.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

LSR1.lo0.lo.mtu int 4470B
LSR1.mpls.interfaceTableModule string

The path to the InterfaceTable module

LSR1.mpls.libTableModule string
LSR1.libTable.config xml xml("")

table contents to be loaded on startup

LSR2.status.initialStatus string "UP"

TODO @signal, @statistic

LSR2.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

LSR2.routingTable.interfaceTableModule string

The path to the InterfaceTable module

LSR2.routingTable.netmaskRoutes string "*"

maintain netmask routes for interfaces

LSR2.routingTable.multicastForwarding bool false

turns multicast forwarding on/off

LSR2.routingTable.useAdminDist bool false

Use Cisco like administrative distances

LSR2.routingTable.routingFile string ""

routing table file name

LSR2.ldp.interfaceTableModule string

The path to the InterfaceTable module

LSR2.ldp.routingTableModule string
LSR2.ldp.libTableModule string
LSR2.ldp.tedModule string
LSR2.ldp.dataTransferMode string "bytecount"

TCP data transfer mode

LSR2.ted.interfaceTableModule string

The path to the InterfaceTable module

LSR2.ted.routingTableModule string
LSR2.linkStateRouting.interfaceTableModule string

The path to the InterfaceTable module

LSR2.linkStateRouting.routingTableModule string
LSR2.linkStateRouting.tedModule string
LSR2.networkLayer.configurator.interfaceTableModule string

The path to the InterfaceTable module

LSR2.networkLayer.configurator.networkConfiguratorModule string "configurator"

TODO: eventually rename to networkConfigurator

LSR2.networkLayer.configurator.configureRoutingTable bool true

add routing entries to routing table (uses the configurator module)

LSR2.networkLayer.ip.interfaceTableModule string

The path to the InterfaceTable module

LSR2.networkLayer.ip.routingTableModule string
LSR2.networkLayer.ip.arpModule string
LSR2.networkLayer.ip.icmpModule string
LSR2.networkLayer.ip.procDelay double 0s
LSR2.networkLayer.ip.timeToLive int 32
LSR2.networkLayer.ip.multicastTimeToLive int 32
LSR2.networkLayer.ip.fragmentTimeout double 60s
LSR2.networkLayer.ip.forceBroadcast bool false
LSR2.networkLayer.icmp.interfaceTableModule string

The path to the InterfaceTable module

LSR2.networkLayer.icmp.routingTableModule string
LSR2.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

LSR2.lo0.lo.mtu int 4470B
LSR2.mpls.interfaceTableModule string

The path to the InterfaceTable module

LSR2.mpls.libTableModule string
LSR2.libTable.config xml xml("")

table contents to be loaded on startup

LSR3.status.initialStatus string "UP"

TODO @signal, @statistic

LSR3.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

LSR3.routingTable.interfaceTableModule string

The path to the InterfaceTable module

LSR3.routingTable.netmaskRoutes string "*"

maintain netmask routes for interfaces

LSR3.routingTable.multicastForwarding bool false

turns multicast forwarding on/off

LSR3.routingTable.useAdminDist bool false

Use Cisco like administrative distances

LSR3.routingTable.routingFile string ""

routing table file name

LSR3.ldp.interfaceTableModule string

The path to the InterfaceTable module

LSR3.ldp.routingTableModule string
LSR3.ldp.libTableModule string
LSR3.ldp.tedModule string
LSR3.ldp.dataTransferMode string "bytecount"

TCP data transfer mode

LSR3.ted.interfaceTableModule string

The path to the InterfaceTable module

LSR3.ted.routingTableModule string
LSR3.linkStateRouting.interfaceTableModule string

The path to the InterfaceTable module

LSR3.linkStateRouting.routingTableModule string
LSR3.linkStateRouting.tedModule string
LSR3.networkLayer.configurator.interfaceTableModule string

The path to the InterfaceTable module

LSR3.networkLayer.configurator.networkConfiguratorModule string "configurator"

TODO: eventually rename to networkConfigurator

LSR3.networkLayer.configurator.configureRoutingTable bool true

add routing entries to routing table (uses the configurator module)

LSR3.networkLayer.ip.interfaceTableModule string

The path to the InterfaceTable module

LSR3.networkLayer.ip.routingTableModule string
LSR3.networkLayer.ip.arpModule string
LSR3.networkLayer.ip.icmpModule string
LSR3.networkLayer.ip.procDelay double 0s
LSR3.networkLayer.ip.timeToLive int 32
LSR3.networkLayer.ip.multicastTimeToLive int 32
LSR3.networkLayer.ip.fragmentTimeout double 60s
LSR3.networkLayer.ip.forceBroadcast bool false
LSR3.networkLayer.icmp.interfaceTableModule string

The path to the InterfaceTable module

LSR3.networkLayer.icmp.routingTableModule string
LSR3.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

LSR3.lo0.lo.mtu int 4470B
LSR3.mpls.interfaceTableModule string

The path to the InterfaceTable module

LSR3.mpls.libTableModule string
LSR3.libTable.config xml xml("")

table contents to be loaded on startup

LSR4.status.initialStatus string "UP"

TODO @signal, @statistic

LSR4.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

LSR4.routingTable.interfaceTableModule string

The path to the InterfaceTable module

LSR4.routingTable.netmaskRoutes string "*"

maintain netmask routes for interfaces

LSR4.routingTable.multicastForwarding bool false

turns multicast forwarding on/off

LSR4.routingTable.useAdminDist bool false

Use Cisco like administrative distances

LSR4.routingTable.routingFile string ""

routing table file name

LSR4.ldp.interfaceTableModule string

The path to the InterfaceTable module

LSR4.ldp.routingTableModule string
LSR4.ldp.libTableModule string
LSR4.ldp.tedModule string
LSR4.ldp.dataTransferMode string "bytecount"

TCP data transfer mode

LSR4.ted.interfaceTableModule string

The path to the InterfaceTable module

LSR4.ted.routingTableModule string
LSR4.linkStateRouting.interfaceTableModule string

The path to the InterfaceTable module

LSR4.linkStateRouting.routingTableModule string
LSR4.linkStateRouting.tedModule string
LSR4.networkLayer.configurator.interfaceTableModule string

The path to the InterfaceTable module

LSR4.networkLayer.configurator.networkConfiguratorModule string "configurator"

TODO: eventually rename to networkConfigurator

LSR4.networkLayer.configurator.configureRoutingTable bool true

add routing entries to routing table (uses the configurator module)

LSR4.networkLayer.ip.interfaceTableModule string

The path to the InterfaceTable module

LSR4.networkLayer.ip.routingTableModule string
LSR4.networkLayer.ip.arpModule string
LSR4.networkLayer.ip.icmpModule string
LSR4.networkLayer.ip.procDelay double 0s
LSR4.networkLayer.ip.timeToLive int 32
LSR4.networkLayer.ip.multicastTimeToLive int 32
LSR4.networkLayer.ip.fragmentTimeout double 60s
LSR4.networkLayer.ip.forceBroadcast bool false
LSR4.networkLayer.icmp.interfaceTableModule string

The path to the InterfaceTable module

LSR4.networkLayer.icmp.routingTableModule string
LSR4.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

LSR4.lo0.lo.mtu int 4470B
LSR4.mpls.interfaceTableModule string

The path to the InterfaceTable module

LSR4.mpls.libTableModule string
LSR4.libTable.config xml xml("")

table contents to be loaded on startup

LSR5.status.initialStatus string "UP"

TODO @signal, @statistic

LSR5.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

LSR5.routingTable.interfaceTableModule string

The path to the InterfaceTable module

LSR5.routingTable.netmaskRoutes string "*"

maintain netmask routes for interfaces

LSR5.routingTable.multicastForwarding bool false

turns multicast forwarding on/off

LSR5.routingTable.useAdminDist bool false

Use Cisco like administrative distances

LSR5.routingTable.routingFile string ""

routing table file name

LSR5.ldp.interfaceTableModule string

The path to the InterfaceTable module

LSR5.ldp.routingTableModule string
LSR5.ldp.libTableModule string
LSR5.ldp.tedModule string
LSR5.ldp.dataTransferMode string "bytecount"

TCP data transfer mode

LSR5.ted.interfaceTableModule string

The path to the InterfaceTable module

LSR5.ted.routingTableModule string
LSR5.linkStateRouting.interfaceTableModule string

The path to the InterfaceTable module

LSR5.linkStateRouting.routingTableModule string
LSR5.linkStateRouting.tedModule string
LSR5.networkLayer.configurator.interfaceTableModule string

The path to the InterfaceTable module

LSR5.networkLayer.configurator.networkConfiguratorModule string "configurator"

TODO: eventually rename to networkConfigurator

LSR5.networkLayer.configurator.configureRoutingTable bool true

add routing entries to routing table (uses the configurator module)

LSR5.networkLayer.ip.interfaceTableModule string

The path to the InterfaceTable module

LSR5.networkLayer.ip.routingTableModule string
LSR5.networkLayer.ip.arpModule string
LSR5.networkLayer.ip.icmpModule string
LSR5.networkLayer.ip.procDelay double 0s
LSR5.networkLayer.ip.timeToLive int 32
LSR5.networkLayer.ip.multicastTimeToLive int 32
LSR5.networkLayer.ip.fragmentTimeout double 60s
LSR5.networkLayer.ip.forceBroadcast bool false
LSR5.networkLayer.icmp.interfaceTableModule string

The path to the InterfaceTable module

LSR5.networkLayer.icmp.routingTableModule string
LSR5.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

LSR5.lo0.lo.mtu int 4470B
LSR5.mpls.interfaceTableModule string

The path to the InterfaceTable module

LSR5.mpls.libTableModule string
LSR5.libTable.config xml xml("")

table contents to be loaded on startup

host1.status.initialStatus string "UP"

TODO @signal, @statistic

host1.routingTable.forwarding bool
host1.routingTable.multicastForwarding bool
host1.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

host1.pcapRecorder.verbose bool false

whether to log packets on the module output

host1.pcapRecorder.pcapFile string ""

the PCAP file to be written

host1.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

host1.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

host1.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*] ext[*]"

space-separated list of sibling module names to listen on

host1.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host1.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host1.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

host1.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

host1.lo0.lo.mtu int 4470B
host2.status.initialStatus string "UP"

TODO @signal, @statistic

host2.routingTable.forwarding bool
host2.routingTable.multicastForwarding bool
host2.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

host2.pcapRecorder.verbose bool false

whether to log packets on the module output

host2.pcapRecorder.pcapFile string ""

the PCAP file to be written

host2.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

host2.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

host2.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*] ext[*]"

space-separated list of sibling module names to listen on

host2.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host2.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host2.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

host2.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

host2.lo0.lo.mtu int 4470B
host3.status.initialStatus string "UP"

TODO @signal, @statistic

host3.routingTable.forwarding bool
host3.routingTable.multicastForwarding bool
host3.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

host3.pcapRecorder.verbose bool false

whether to log packets on the module output

host3.pcapRecorder.pcapFile string ""

the PCAP file to be written

host3.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

host3.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

host3.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*] ext[*]"

space-separated list of sibling module names to listen on

host3.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host3.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host3.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

host3.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

host3.lo0.lo.mtu int 4470B
host4.status.initialStatus string "UP"

TODO @signal, @statistic

host4.routingTable.forwarding bool
host4.routingTable.multicastForwarding bool
host4.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

host4.pcapRecorder.verbose bool false

whether to log packets on the module output

host4.pcapRecorder.pcapFile string ""

the PCAP file to be written

host4.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

host4.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

host4.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*] ext[*]"

space-separated list of sibling module names to listen on

host4.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host4.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host4.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

host4.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

host4.lo0.lo.mtu int 4470B
scenarioManager.script xml xml("")

Source code:

network LDPTEST
{
    parameters:
        **.networkLayer.configurator.networkConfiguratorModule = "";

    types:
        channel C5 extends DatarateChannel
        {
            datarate = 600kbps;
            delay = 5us;
        }
        channel C10 extends DatarateChannel
        {
            datarate = 600kbps;
            delay = 10us;
        }
        channel C15 extends DatarateChannel
        {
            datarate = 600kbps;
            delay = 15us;
        }

    submodules:
        LSR1: LDP_LSR {
            parameters:
                peers = "ppp0 ppp1 ppp2";
                @display("p=150,200");
            gates:
                pppg[4];
        }
        LSR2: LDP_LSR {
            parameters:
                peers = "ppp0 ppp1 ppp2 ppp3";
                @display("p=250,200");
            gates:
                pppg[4];
        }
        LSR3: LDP_LSR {
            parameters:
                peers = "ppp0 ppp1 ppp2";
                @display("p=350,200");
            gates:
                pppg[4];
        }
        LSR4: LDP_LSR {
            parameters:
                peers = "ppp0 ppp1 ppp2";
                @display("p=250,100");
            gates:
                pppg[4];
        }
        LSR5: LDP_LSR {
            parameters:
                peers = "ppp0 ppp1 ppp2";
                @display("p=250,300");
            gates:
                pppg[4];
        }
        host1: StandardHost { // client
            parameters:
                @display("p=40,200;i=device/pc2");
        }
        host2: StandardHost { // client
            parameters:
                @display("p=440,200;i=device/pc2");
        }
        host3: StandardHost { // client
            parameters:
                @display("p=250,10;i=device/pc2");
        }
        host4: StandardHost { // client
            parameters:
                @display("p=250,390;i=device/pc2");
        }
        scenarioManager: ScenarioManager {
            parameters:
                @display("p=150,50");
        }
        lifecycleController: LifecycleController {
            parameters:
                @display("p=350,50");
        }
    connections:
        LSR1.pppg[0] <--> C15 <--> LSR2.pppg[0];
        LSR1.pppg[1] <--> C5 <--> LSR4.pppg[0];
        LSR1.pppg[2] <--> C5 <--> LSR5.pppg[0];
        LSR2.pppg[1] <--> C5 <--> LSR3.pppg[0];
        LSR2.pppg[2] <--> C5 <--> LSR4.pppg[1];
        LSR2.pppg[3] <--> C5 <--> LSR5.pppg[1];
        LSR3.pppg[1] <--> C10 <--> LSR4.pppg[2];
        LSR3.pppg[2] <--> C10 <--> LSR5.pppg[2];
        host1.pppg++ <--> C10 <--> LSR1.pppg[3];
        host2.pppg++ <--> C10 <--> LSR3.pppg[3];
        host3.pppg++ <--> C10 <--> LSR4.pppg[3];
        host4.pppg++ <--> C10 <--> LSR5.pppg[3];
}