RoutingTableVisualizationDynamicShowcase

Package: inet.showcases.visualizer.canvas.routingtable

RoutingTableVisualizationDynamicShowcase

network

(no description)

sourceHost : AodvRouter

A mobile node with the Ad hoc On-Demand Distance Vector (AODV) routing protocol.

Source:
sourceHost: AodvRouter {
    @display("p=120,57");
} host1 : AodvRouter

A mobile node with the Ad hoc On-Demand Distance Vector (AODV) routing protocol.

Source:
host1: AodvRouter {
    @display("p=119.04,148.48");
} host2 : AodvRouter

A mobile node with the Ad hoc On-Demand Distance Vector (AODV) routing protocol.

Source:
host2: AodvRouter {
    @display("p=119.04,241.92");
} host3 : AodvRouter

A mobile node with the Ad hoc On-Demand Distance Vector (AODV) routing protocol.

Source:
host3: AodvRouter {
    @display("p=119.04,341.76");
} host4 : AodvRouter

A mobile node with the Ad hoc On-Demand Distance Vector (AODV) routing protocol.

Source:
host4: AodvRouter {
    @display("p=119.04,451.84");
} host5 : AodvRouter

A mobile node with the Ad hoc On-Demand Distance Vector (AODV) routing protocol.

Source:
host5: AodvRouter {
    @display("p=119.04,554.24");
} destinationHost : AodvRouter

A mobile node with the Ad hoc On-Demand Distance Vector (AODV) routing protocol.

Source:
destinationHost: AodvRouter {
    @display("p=272.64,56.32");
} configurator : Ipv4NetworkConfigurator

Assigns IPv4 addresses and sets up static routing for an IPv4 network.

Source:
configurator: Ipv4NetworkConfigurator {
    @display("p=556,101");
} visualizer : IntegratedCanvasVisualizer

Integrates all canvas visualizers into a single module.

Source:
visualizer: IntegratedCanvasVisualizer {
    @display("p=556,179");
} radioMedium : Ieee80211ScalarRadioMedium

This radio medium model uses scalar transmission power in the analog representation.

Source:
radioMedium: Ieee80211ScalarRadioMedium {
    @display("p=560,255");
}

Usage diagram

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

Properties

Name Value Description
isNetwork
display bgb=822,636

Unassigned submodule parameters

Name Type Default value Description
sourceHost.status.displayStringTextFormat string ""

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

sourceHost.status.initialStatus string "UP"

TODO @signal, @statistic

sourceHost.environment.displayStringTextFormat string ""

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

sourceHost.environment.initStage int 0

Initialization stage for the setup command

sourceHost.environment.globalNamespace bool false

Create new network namespaces under /var/run/netns/ (Linux only)

sourceHost.environment.namespace string ""

Name of the host OS network namespace (optional) (Linux only)

sourceHost.environment.setupCommand string ""

A host OS system command

sourceHost.environment.teardownCommand string ""

A host OS system command

sourceHost.pcapRecorder.displayStringTextFormat string "rec: %n pks"

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

sourceHost.pcapRecorder.verbose bool true

Whether to log packets on the module output

sourceHost.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

sourceHost.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

sourceHost.pcapRecorder.pcapFile string ""

The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap"

sourceHost.pcapRecorder.fileFormat string "pcapng"
sourceHost.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

sourceHost.pcapRecorder.timePrecision int 6

Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format).

sourceHost.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

sourceHost.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

Space-separated list of sibling module names to listen on

sourceHost.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

sourceHost.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

sourceHost.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

Space-separated list of protocol names as defined in the Protocol class

sourceHost.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

sourceHost.pcapRecorder.helpers string ""

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

sourceHost.pcapRecorder.alwaysFlush bool false

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

sourceHost.interfaceTable.displayStringTextFormat string ""

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

sourceHost.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

sourceHost.cb.displayStringTextFormat string "processed %p pk (%l)"

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

sourceHost.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

sourceHost.cb.forwardServiceRegistration bool true
sourceHost.cb.forwardProtocolRegistration bool true
sourceHost.cb.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

sourceHost.cb.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

sourceHost.cb.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

sourceHost.bl.displayStringTextFormat string "processed %p pk (%l)"

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

sourceHost.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

sourceHost.bl.forwardServiceRegistration bool true
sourceHost.bl.forwardProtocolRegistration bool true
sourceHost.bl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

sourceHost.bl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

sourceHost.bl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

sourceHost.li.displayStringTextFormat string "processed %p pk (%l)"

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

sourceHost.li.interfaceTableModule string

Module path to the ~InterfaceTable module

sourceHost.li.forwardServiceRegistration bool true
sourceHost.li.forwardProtocolRegistration bool true
sourceHost.li.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

sourceHost.li.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

sourceHost.li.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

sourceHost.eth.bitrate double
sourceHost.nl.displayStringTextFormat string "processed %p pk (%l)"

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

sourceHost.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

sourceHost.nl.forwardServiceRegistration bool true
sourceHost.nl.forwardProtocolRegistration bool true
sourceHost.nl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

sourceHost.nl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

sourceHost.nl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

sourceHost.tn.displayStringTextFormat string "processed %p pk (%l)"

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

sourceHost.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

sourceHost.tn.forwardServiceRegistration bool true
sourceHost.tn.forwardProtocolRegistration bool true
sourceHost.tn.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

sourceHost.tn.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

sourceHost.tn.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

sourceHost.at.displayStringTextFormat string "processed %p pk (%l)"

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

sourceHost.at.interfaceTableModule string

Module path to the ~InterfaceTable module

sourceHost.at.forwardServiceRegistration bool true
sourceHost.at.forwardProtocolRegistration bool true
sourceHost.at.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

sourceHost.at.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

sourceHost.at.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

sourceHost.aodv.displayStringTextFormat string ""

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

sourceHost.aodv.routingTableModule string "^.ipv4.routingTable"
sourceHost.aodv.interfaceTableModule string "^.interfaceTable"
sourceHost.aodv.networkProtocolModule string "^.ipv4.ip"
sourceHost.aodv.askGratuitousRREP bool false

See RFC 3561: 6.6.3

sourceHost.aodv.useHelloMessages bool false

See RFC 3561: 6.9

sourceHost.aodv.useLocalRepair bool false

See RFC 3561: 6.12 *not implemented yet*

sourceHost.aodv.destinationOnlyFlag bool false

See RFC 3561: 5.1

sourceHost.aodv.udpPort int 654
sourceHost.aodv.interface string "wlan0"

The interface to be used for the AODV routing

sourceHost.aodv.gatewayAddress string ""

The address of the external gateway (external traffic routed here by default)

sourceHost.aodv.maxPeriodicJitter double helloInterval / 4

It MUST NOT be negative; it MUST NOT be greater than MESSAGE_INTERVAL/2; it SHOULD NOT be greater than MESSAGE_INTERVAL/4.

sourceHost.aodv.periodicJitter double uniform(0s, maxPeriodicJitter)

Jitter for externally triggered message generation and message forwarding

sourceHost.aodv.maxJitter double 5ms

RFC 5148: need more revision: As well as the decision as to whether to use jitter being dependent on the medium access control and lower layers, the selection of the MAXJITTER parameter SHOULD be appropriate to those mechanisms.

sourceHost.aodv.jitter double uniform(0ms, maxJitter)

Jitter for broadcasts

sourceHost.aodv.helloInterval double 1s

Every helloInterval seconds a node broadcasts Hello messages (if it is necessary)

sourceHost.aodv.allowedHelloLoss int 2

AllowedHelloLoss * helloInterval is the lifetime value for Hello messages

sourceHost.aodv.activeRouteTimeout double 3s

The timeout value for cached routes. If Hello messages are used, then the ACTIVE_ROUTE_TIMEOUT parameter value MUST be more than the value (ALLOWED_HELLO_LOSS * HELLO_INTERVAL).

sourceHost.aodv.netDiameter int 35

The maximum possible number of hops between two nodes in the network

sourceHost.aodv.nodeTraversalTime double 0.04s

An estimation of the average one-hop traversal time

sourceHost.aodv.rerrRatelimit int 10

Maximum number of RERR messages that the AODV may originate in 1s.

sourceHost.aodv.rreqRetries int 2

Specifies the number of times AODV will repeat an expanded ring search for a destination

sourceHost.aodv.rreqRatelimit int 10

Maximum number of RREQ messages that the AODV may originate in 1s.

sourceHost.aodv.timeoutBuffer int 2

Plus time to wait for a delayed RREP (due to congestion) (to omit this buffer set it to 0)

sourceHost.aodv.ttlStart int 2

Specifies the TTL value when initiating a route request

sourceHost.aodv.ttlIncrement int 2

Specifies the value by which the TTL will be incremented each time a RREQ is retransmitted

sourceHost.aodv.ttlThreshold int 7

The maximum value of TTL over which NET_DIAMETER value will be used to broadcast any RREQ

sourceHost.aodv.localAddTTL int 2

It is used by the formula which calculates the initial TTL of the RREQ for a local repair

sourceHost.aodv.myRouteTimeout double 2 * activeRouteTimeout

The value of the lifetime field that a destination node places in RREPs

sourceHost.aodv.deletePeriod double 5 * max(activeRouteTimeout, helloInterval)

The time after which an expired route is deleted

sourceHost.aodv.blacklistTimeout double rreqRetries * netTraversalTime

The time after which a blacklisted node is removed from the blacklist

sourceHost.aodv.netTraversalTime double 2 * nodeTraversalTime * netDiameter

An estimation of the traversal time for the complete network

sourceHost.aodv.nextHopWait double nodeTraversalTime + 0.01s

Timeout for a RREP-ACK

sourceHost.aodv.pathDiscoveryTime double 2 * netTraversalTime

Buffer timeout for each broadcasted RREQ message

host1.status.displayStringTextFormat string ""

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

host1.status.initialStatus string "UP"

TODO @signal, @statistic

host1.environment.displayStringTextFormat string ""

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

host1.environment.initStage int 0

Initialization stage for the setup command

host1.environment.globalNamespace bool false

Create new network namespaces under /var/run/netns/ (Linux only)

host1.environment.namespace string ""

Name of the host OS network namespace (optional) (Linux only)

host1.environment.setupCommand string ""

A host OS system command

host1.environment.teardownCommand string ""

A host OS system command

host1.pcapRecorder.displayStringTextFormat string "rec: %n pks"

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

host1.pcapRecorder.verbose bool true

Whether to log packets on the module output

host1.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

host1.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

host1.pcapRecorder.pcapFile string ""

The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap"

host1.pcapRecorder.fileFormat string "pcapng"
host1.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

host1.pcapRecorder.timePrecision int 6

Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format).

host1.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

host1.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

host1.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

host1.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

Space-separated list of protocol names as defined in the Protocol class

host1.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

host1.pcapRecorder.helpers string ""

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

host1.pcapRecorder.alwaysFlush bool false

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

host1.interfaceTable.displayStringTextFormat string ""

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

host1.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

host1.cb.displayStringTextFormat string "processed %p pk (%l)"

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

host1.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

host1.cb.forwardServiceRegistration bool true
host1.cb.forwardProtocolRegistration bool true
host1.cb.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host1.cb.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host1.cb.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host1.bl.displayStringTextFormat string "processed %p pk (%l)"

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

host1.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

host1.bl.forwardServiceRegistration bool true
host1.bl.forwardProtocolRegistration bool true
host1.bl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host1.bl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host1.bl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host1.li.displayStringTextFormat string "processed %p pk (%l)"

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

host1.li.interfaceTableModule string

Module path to the ~InterfaceTable module

host1.li.forwardServiceRegistration bool true
host1.li.forwardProtocolRegistration bool true
host1.li.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host1.li.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host1.li.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host1.eth.bitrate double
host1.nl.displayStringTextFormat string "processed %p pk (%l)"

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

host1.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

host1.nl.forwardServiceRegistration bool true
host1.nl.forwardProtocolRegistration bool true
host1.nl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host1.nl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host1.nl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host1.tn.displayStringTextFormat string "processed %p pk (%l)"

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

host1.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

host1.tn.forwardServiceRegistration bool true
host1.tn.forwardProtocolRegistration bool true
host1.tn.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host1.tn.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host1.tn.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host1.at.displayStringTextFormat string "processed %p pk (%l)"

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

host1.at.interfaceTableModule string

Module path to the ~InterfaceTable module

host1.at.forwardServiceRegistration bool true
host1.at.forwardProtocolRegistration bool true
host1.at.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host1.at.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host1.at.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host1.aodv.displayStringTextFormat string ""

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

host1.aodv.routingTableModule string "^.ipv4.routingTable"
host1.aodv.interfaceTableModule string "^.interfaceTable"
host1.aodv.networkProtocolModule string "^.ipv4.ip"
host1.aodv.askGratuitousRREP bool false

See RFC 3561: 6.6.3

host1.aodv.useHelloMessages bool false

See RFC 3561: 6.9

host1.aodv.useLocalRepair bool false

See RFC 3561: 6.12 *not implemented yet*

host1.aodv.destinationOnlyFlag bool false

See RFC 3561: 5.1

host1.aodv.udpPort int 654
host1.aodv.interface string "wlan0"

The interface to be used for the AODV routing

host1.aodv.gatewayAddress string ""

The address of the external gateway (external traffic routed here by default)

host1.aodv.maxPeriodicJitter double helloInterval / 4

It MUST NOT be negative; it MUST NOT be greater than MESSAGE_INTERVAL/2; it SHOULD NOT be greater than MESSAGE_INTERVAL/4.

host1.aodv.periodicJitter double uniform(0s, maxPeriodicJitter)

Jitter for externally triggered message generation and message forwarding

host1.aodv.maxJitter double 5ms

RFC 5148: need more revision: As well as the decision as to whether to use jitter being dependent on the medium access control and lower layers, the selection of the MAXJITTER parameter SHOULD be appropriate to those mechanisms.

host1.aodv.jitter double uniform(0ms, maxJitter)

Jitter for broadcasts

host1.aodv.helloInterval double 1s

Every helloInterval seconds a node broadcasts Hello messages (if it is necessary)

host1.aodv.allowedHelloLoss int 2

AllowedHelloLoss * helloInterval is the lifetime value for Hello messages

host1.aodv.activeRouteTimeout double 3s

The timeout value for cached routes. If Hello messages are used, then the ACTIVE_ROUTE_TIMEOUT parameter value MUST be more than the value (ALLOWED_HELLO_LOSS * HELLO_INTERVAL).

host1.aodv.netDiameter int 35

The maximum possible number of hops between two nodes in the network

host1.aodv.nodeTraversalTime double 0.04s

An estimation of the average one-hop traversal time

host1.aodv.rerrRatelimit int 10

Maximum number of RERR messages that the AODV may originate in 1s.

host1.aodv.rreqRetries int 2

Specifies the number of times AODV will repeat an expanded ring search for a destination

host1.aodv.rreqRatelimit int 10

Maximum number of RREQ messages that the AODV may originate in 1s.

host1.aodv.timeoutBuffer int 2

Plus time to wait for a delayed RREP (due to congestion) (to omit this buffer set it to 0)

host1.aodv.ttlStart int 2

Specifies the TTL value when initiating a route request

host1.aodv.ttlIncrement int 2

Specifies the value by which the TTL will be incremented each time a RREQ is retransmitted

host1.aodv.ttlThreshold int 7

The maximum value of TTL over which NET_DIAMETER value will be used to broadcast any RREQ

host1.aodv.localAddTTL int 2

It is used by the formula which calculates the initial TTL of the RREQ for a local repair

host1.aodv.myRouteTimeout double 2 * activeRouteTimeout

The value of the lifetime field that a destination node places in RREPs

host1.aodv.deletePeriod double 5 * max(activeRouteTimeout, helloInterval)

The time after which an expired route is deleted

host1.aodv.blacklistTimeout double rreqRetries * netTraversalTime

The time after which a blacklisted node is removed from the blacklist

host1.aodv.netTraversalTime double 2 * nodeTraversalTime * netDiameter

An estimation of the traversal time for the complete network

host1.aodv.nextHopWait double nodeTraversalTime + 0.01s

Timeout for a RREP-ACK

host1.aodv.pathDiscoveryTime double 2 * netTraversalTime

Buffer timeout for each broadcasted RREQ message

host2.status.displayStringTextFormat string ""

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

host2.status.initialStatus string "UP"

TODO @signal, @statistic

host2.environment.displayStringTextFormat string ""

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

host2.environment.initStage int 0

Initialization stage for the setup command

host2.environment.globalNamespace bool false

Create new network namespaces under /var/run/netns/ (Linux only)

host2.environment.namespace string ""

Name of the host OS network namespace (optional) (Linux only)

host2.environment.setupCommand string ""

A host OS system command

host2.environment.teardownCommand string ""

A host OS system command

host2.pcapRecorder.displayStringTextFormat string "rec: %n pks"

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

host2.pcapRecorder.verbose bool true

Whether to log packets on the module output

host2.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

host2.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

host2.pcapRecorder.pcapFile string ""

The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap"

host2.pcapRecorder.fileFormat string "pcapng"
host2.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

host2.pcapRecorder.timePrecision int 6

Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format).

host2.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

host2.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

host2.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

host2.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

Space-separated list of protocol names as defined in the Protocol class

host2.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

host2.pcapRecorder.helpers string ""

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

host2.pcapRecorder.alwaysFlush bool false

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

host2.interfaceTable.displayStringTextFormat string ""

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

host2.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

host2.cb.displayStringTextFormat string "processed %p pk (%l)"

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

host2.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

host2.cb.forwardServiceRegistration bool true
host2.cb.forwardProtocolRegistration bool true
host2.cb.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host2.cb.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host2.cb.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host2.bl.displayStringTextFormat string "processed %p pk (%l)"

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

host2.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

host2.bl.forwardServiceRegistration bool true
host2.bl.forwardProtocolRegistration bool true
host2.bl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host2.bl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host2.bl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host2.li.displayStringTextFormat string "processed %p pk (%l)"

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

host2.li.interfaceTableModule string

Module path to the ~InterfaceTable module

host2.li.forwardServiceRegistration bool true
host2.li.forwardProtocolRegistration bool true
host2.li.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host2.li.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host2.li.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host2.eth.bitrate double
host2.nl.displayStringTextFormat string "processed %p pk (%l)"

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

host2.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

host2.nl.forwardServiceRegistration bool true
host2.nl.forwardProtocolRegistration bool true
host2.nl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host2.nl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host2.nl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host2.tn.displayStringTextFormat string "processed %p pk (%l)"

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

host2.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

host2.tn.forwardServiceRegistration bool true
host2.tn.forwardProtocolRegistration bool true
host2.tn.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host2.tn.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host2.tn.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host2.at.displayStringTextFormat string "processed %p pk (%l)"

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

host2.at.interfaceTableModule string

Module path to the ~InterfaceTable module

host2.at.forwardServiceRegistration bool true
host2.at.forwardProtocolRegistration bool true
host2.at.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host2.at.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host2.at.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host2.aodv.displayStringTextFormat string ""

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

host2.aodv.routingTableModule string "^.ipv4.routingTable"
host2.aodv.interfaceTableModule string "^.interfaceTable"
host2.aodv.networkProtocolModule string "^.ipv4.ip"
host2.aodv.askGratuitousRREP bool false

See RFC 3561: 6.6.3

host2.aodv.useHelloMessages bool false

See RFC 3561: 6.9

host2.aodv.useLocalRepair bool false

See RFC 3561: 6.12 *not implemented yet*

host2.aodv.destinationOnlyFlag bool false

See RFC 3561: 5.1

host2.aodv.udpPort int 654
host2.aodv.interface string "wlan0"

The interface to be used for the AODV routing

host2.aodv.gatewayAddress string ""

The address of the external gateway (external traffic routed here by default)

host2.aodv.maxPeriodicJitter double helloInterval / 4

It MUST NOT be negative; it MUST NOT be greater than MESSAGE_INTERVAL/2; it SHOULD NOT be greater than MESSAGE_INTERVAL/4.

host2.aodv.periodicJitter double uniform(0s, maxPeriodicJitter)

Jitter for externally triggered message generation and message forwarding

host2.aodv.maxJitter double 5ms

RFC 5148: need more revision: As well as the decision as to whether to use jitter being dependent on the medium access control and lower layers, the selection of the MAXJITTER parameter SHOULD be appropriate to those mechanisms.

host2.aodv.jitter double uniform(0ms, maxJitter)

Jitter for broadcasts

host2.aodv.helloInterval double 1s

Every helloInterval seconds a node broadcasts Hello messages (if it is necessary)

host2.aodv.allowedHelloLoss int 2

AllowedHelloLoss * helloInterval is the lifetime value for Hello messages

host2.aodv.activeRouteTimeout double 3s

The timeout value for cached routes. If Hello messages are used, then the ACTIVE_ROUTE_TIMEOUT parameter value MUST be more than the value (ALLOWED_HELLO_LOSS * HELLO_INTERVAL).

host2.aodv.netDiameter int 35

The maximum possible number of hops between two nodes in the network

host2.aodv.nodeTraversalTime double 0.04s

An estimation of the average one-hop traversal time

host2.aodv.rerrRatelimit int 10

Maximum number of RERR messages that the AODV may originate in 1s.

host2.aodv.rreqRetries int 2

Specifies the number of times AODV will repeat an expanded ring search for a destination

host2.aodv.rreqRatelimit int 10

Maximum number of RREQ messages that the AODV may originate in 1s.

host2.aodv.timeoutBuffer int 2

Plus time to wait for a delayed RREP (due to congestion) (to omit this buffer set it to 0)

host2.aodv.ttlStart int 2

Specifies the TTL value when initiating a route request

host2.aodv.ttlIncrement int 2

Specifies the value by which the TTL will be incremented each time a RREQ is retransmitted

host2.aodv.ttlThreshold int 7

The maximum value of TTL over which NET_DIAMETER value will be used to broadcast any RREQ

host2.aodv.localAddTTL int 2

It is used by the formula which calculates the initial TTL of the RREQ for a local repair

host2.aodv.myRouteTimeout double 2 * activeRouteTimeout

The value of the lifetime field that a destination node places in RREPs

host2.aodv.deletePeriod double 5 * max(activeRouteTimeout, helloInterval)

The time after which an expired route is deleted

host2.aodv.blacklistTimeout double rreqRetries * netTraversalTime

The time after which a blacklisted node is removed from the blacklist

host2.aodv.netTraversalTime double 2 * nodeTraversalTime * netDiameter

An estimation of the traversal time for the complete network

host2.aodv.nextHopWait double nodeTraversalTime + 0.01s

Timeout for a RREP-ACK

host2.aodv.pathDiscoveryTime double 2 * netTraversalTime

Buffer timeout for each broadcasted RREQ message

host3.status.displayStringTextFormat string ""

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

host3.status.initialStatus string "UP"

TODO @signal, @statistic

host3.environment.displayStringTextFormat string ""

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

host3.environment.initStage int 0

Initialization stage for the setup command

host3.environment.globalNamespace bool false

Create new network namespaces under /var/run/netns/ (Linux only)

host3.environment.namespace string ""

Name of the host OS network namespace (optional) (Linux only)

host3.environment.setupCommand string ""

A host OS system command

host3.environment.teardownCommand string ""

A host OS system command

host3.pcapRecorder.displayStringTextFormat string "rec: %n pks"

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

host3.pcapRecorder.verbose bool true

Whether to log packets on the module output

host3.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

host3.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

host3.pcapRecorder.pcapFile string ""

The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap"

host3.pcapRecorder.fileFormat string "pcapng"
host3.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

host3.pcapRecorder.timePrecision int 6

Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format).

host3.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

host3.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

host3.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

host3.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

Space-separated list of protocol names as defined in the Protocol class

host3.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

host3.pcapRecorder.helpers string ""

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

host3.pcapRecorder.alwaysFlush bool false

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

host3.interfaceTable.displayStringTextFormat string ""

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

host3.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

host3.cb.displayStringTextFormat string "processed %p pk (%l)"

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

host3.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

host3.cb.forwardServiceRegistration bool true
host3.cb.forwardProtocolRegistration bool true
host3.cb.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host3.cb.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host3.cb.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host3.bl.displayStringTextFormat string "processed %p pk (%l)"

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

host3.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

host3.bl.forwardServiceRegistration bool true
host3.bl.forwardProtocolRegistration bool true
host3.bl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host3.bl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host3.bl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host3.li.displayStringTextFormat string "processed %p pk (%l)"

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

host3.li.interfaceTableModule string

Module path to the ~InterfaceTable module

host3.li.forwardServiceRegistration bool true
host3.li.forwardProtocolRegistration bool true
host3.li.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host3.li.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host3.li.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host3.eth.bitrate double
host3.nl.displayStringTextFormat string "processed %p pk (%l)"

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

host3.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

host3.nl.forwardServiceRegistration bool true
host3.nl.forwardProtocolRegistration bool true
host3.nl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host3.nl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host3.nl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host3.tn.displayStringTextFormat string "processed %p pk (%l)"

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

host3.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

host3.tn.forwardServiceRegistration bool true
host3.tn.forwardProtocolRegistration bool true
host3.tn.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host3.tn.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host3.tn.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host3.at.displayStringTextFormat string "processed %p pk (%l)"

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

host3.at.interfaceTableModule string

Module path to the ~InterfaceTable module

host3.at.forwardServiceRegistration bool true
host3.at.forwardProtocolRegistration bool true
host3.at.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host3.at.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host3.at.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host3.aodv.displayStringTextFormat string ""

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

host3.aodv.routingTableModule string "^.ipv4.routingTable"
host3.aodv.interfaceTableModule string "^.interfaceTable"
host3.aodv.networkProtocolModule string "^.ipv4.ip"
host3.aodv.askGratuitousRREP bool false

See RFC 3561: 6.6.3

host3.aodv.useHelloMessages bool false

See RFC 3561: 6.9

host3.aodv.useLocalRepair bool false

See RFC 3561: 6.12 *not implemented yet*

host3.aodv.destinationOnlyFlag bool false

See RFC 3561: 5.1

host3.aodv.udpPort int 654
host3.aodv.interface string "wlan0"

The interface to be used for the AODV routing

host3.aodv.gatewayAddress string ""

The address of the external gateway (external traffic routed here by default)

host3.aodv.maxPeriodicJitter double helloInterval / 4

It MUST NOT be negative; it MUST NOT be greater than MESSAGE_INTERVAL/2; it SHOULD NOT be greater than MESSAGE_INTERVAL/4.

host3.aodv.periodicJitter double uniform(0s, maxPeriodicJitter)

Jitter for externally triggered message generation and message forwarding

host3.aodv.maxJitter double 5ms

RFC 5148: need more revision: As well as the decision as to whether to use jitter being dependent on the medium access control and lower layers, the selection of the MAXJITTER parameter SHOULD be appropriate to those mechanisms.

host3.aodv.jitter double uniform(0ms, maxJitter)

Jitter for broadcasts

host3.aodv.helloInterval double 1s

Every helloInterval seconds a node broadcasts Hello messages (if it is necessary)

host3.aodv.allowedHelloLoss int 2

AllowedHelloLoss * helloInterval is the lifetime value for Hello messages

host3.aodv.activeRouteTimeout double 3s

The timeout value for cached routes. If Hello messages are used, then the ACTIVE_ROUTE_TIMEOUT parameter value MUST be more than the value (ALLOWED_HELLO_LOSS * HELLO_INTERVAL).

host3.aodv.netDiameter int 35

The maximum possible number of hops between two nodes in the network

host3.aodv.nodeTraversalTime double 0.04s

An estimation of the average one-hop traversal time

host3.aodv.rerrRatelimit int 10

Maximum number of RERR messages that the AODV may originate in 1s.

host3.aodv.rreqRetries int 2

Specifies the number of times AODV will repeat an expanded ring search for a destination

host3.aodv.rreqRatelimit int 10

Maximum number of RREQ messages that the AODV may originate in 1s.

host3.aodv.timeoutBuffer int 2

Plus time to wait for a delayed RREP (due to congestion) (to omit this buffer set it to 0)

host3.aodv.ttlStart int 2

Specifies the TTL value when initiating a route request

host3.aodv.ttlIncrement int 2

Specifies the value by which the TTL will be incremented each time a RREQ is retransmitted

host3.aodv.ttlThreshold int 7

The maximum value of TTL over which NET_DIAMETER value will be used to broadcast any RREQ

host3.aodv.localAddTTL int 2

It is used by the formula which calculates the initial TTL of the RREQ for a local repair

host3.aodv.myRouteTimeout double 2 * activeRouteTimeout

The value of the lifetime field that a destination node places in RREPs

host3.aodv.deletePeriod double 5 * max(activeRouteTimeout, helloInterval)

The time after which an expired route is deleted

host3.aodv.blacklistTimeout double rreqRetries * netTraversalTime

The time after which a blacklisted node is removed from the blacklist

host3.aodv.netTraversalTime double 2 * nodeTraversalTime * netDiameter

An estimation of the traversal time for the complete network

host3.aodv.nextHopWait double nodeTraversalTime + 0.01s

Timeout for a RREP-ACK

host3.aodv.pathDiscoveryTime double 2 * netTraversalTime

Buffer timeout for each broadcasted RREQ message

host4.status.displayStringTextFormat string ""

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

host4.status.initialStatus string "UP"

TODO @signal, @statistic

host4.environment.displayStringTextFormat string ""

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

host4.environment.initStage int 0

Initialization stage for the setup command

host4.environment.globalNamespace bool false

Create new network namespaces under /var/run/netns/ (Linux only)

host4.environment.namespace string ""

Name of the host OS network namespace (optional) (Linux only)

host4.environment.setupCommand string ""

A host OS system command

host4.environment.teardownCommand string ""

A host OS system command

host4.pcapRecorder.displayStringTextFormat string "rec: %n pks"

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

host4.pcapRecorder.verbose bool true

Whether to log packets on the module output

host4.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

host4.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

host4.pcapRecorder.pcapFile string ""

The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap"

host4.pcapRecorder.fileFormat string "pcapng"
host4.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

host4.pcapRecorder.timePrecision int 6

Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format).

host4.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

host4.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

host4.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

host4.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

Space-separated list of protocol names as defined in the Protocol class

host4.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

host4.pcapRecorder.helpers string ""

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

host4.pcapRecorder.alwaysFlush bool false

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

host4.interfaceTable.displayStringTextFormat string ""

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

host4.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

host4.cb.displayStringTextFormat string "processed %p pk (%l)"

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

host4.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

host4.cb.forwardServiceRegistration bool true
host4.cb.forwardProtocolRegistration bool true
host4.cb.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host4.cb.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host4.cb.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host4.bl.displayStringTextFormat string "processed %p pk (%l)"

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

host4.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

host4.bl.forwardServiceRegistration bool true
host4.bl.forwardProtocolRegistration bool true
host4.bl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host4.bl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host4.bl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host4.li.displayStringTextFormat string "processed %p pk (%l)"

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

host4.li.interfaceTableModule string

Module path to the ~InterfaceTable module

host4.li.forwardServiceRegistration bool true
host4.li.forwardProtocolRegistration bool true
host4.li.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host4.li.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host4.li.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host4.eth.bitrate double
host4.nl.displayStringTextFormat string "processed %p pk (%l)"

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

host4.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

host4.nl.forwardServiceRegistration bool true
host4.nl.forwardProtocolRegistration bool true
host4.nl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host4.nl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host4.nl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host4.tn.displayStringTextFormat string "processed %p pk (%l)"

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

host4.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

host4.tn.forwardServiceRegistration bool true
host4.tn.forwardProtocolRegistration bool true
host4.tn.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host4.tn.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host4.tn.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host4.at.displayStringTextFormat string "processed %p pk (%l)"

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

host4.at.interfaceTableModule string

Module path to the ~InterfaceTable module

host4.at.forwardServiceRegistration bool true
host4.at.forwardProtocolRegistration bool true
host4.at.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host4.at.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host4.at.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host4.aodv.displayStringTextFormat string ""

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

host4.aodv.routingTableModule string "^.ipv4.routingTable"
host4.aodv.interfaceTableModule string "^.interfaceTable"
host4.aodv.networkProtocolModule string "^.ipv4.ip"
host4.aodv.askGratuitousRREP bool false

See RFC 3561: 6.6.3

host4.aodv.useHelloMessages bool false

See RFC 3561: 6.9

host4.aodv.useLocalRepair bool false

See RFC 3561: 6.12 *not implemented yet*

host4.aodv.destinationOnlyFlag bool false

See RFC 3561: 5.1

host4.aodv.udpPort int 654
host4.aodv.interface string "wlan0"

The interface to be used for the AODV routing

host4.aodv.gatewayAddress string ""

The address of the external gateway (external traffic routed here by default)

host4.aodv.maxPeriodicJitter double helloInterval / 4

It MUST NOT be negative; it MUST NOT be greater than MESSAGE_INTERVAL/2; it SHOULD NOT be greater than MESSAGE_INTERVAL/4.

host4.aodv.periodicJitter double uniform(0s, maxPeriodicJitter)

Jitter for externally triggered message generation and message forwarding

host4.aodv.maxJitter double 5ms

RFC 5148: need more revision: As well as the decision as to whether to use jitter being dependent on the medium access control and lower layers, the selection of the MAXJITTER parameter SHOULD be appropriate to those mechanisms.

host4.aodv.jitter double uniform(0ms, maxJitter)

Jitter for broadcasts

host4.aodv.helloInterval double 1s

Every helloInterval seconds a node broadcasts Hello messages (if it is necessary)

host4.aodv.allowedHelloLoss int 2

AllowedHelloLoss * helloInterval is the lifetime value for Hello messages

host4.aodv.activeRouteTimeout double 3s

The timeout value for cached routes. If Hello messages are used, then the ACTIVE_ROUTE_TIMEOUT parameter value MUST be more than the value (ALLOWED_HELLO_LOSS * HELLO_INTERVAL).

host4.aodv.netDiameter int 35

The maximum possible number of hops between two nodes in the network

host4.aodv.nodeTraversalTime double 0.04s

An estimation of the average one-hop traversal time

host4.aodv.rerrRatelimit int 10

Maximum number of RERR messages that the AODV may originate in 1s.

host4.aodv.rreqRetries int 2

Specifies the number of times AODV will repeat an expanded ring search for a destination

host4.aodv.rreqRatelimit int 10

Maximum number of RREQ messages that the AODV may originate in 1s.

host4.aodv.timeoutBuffer int 2

Plus time to wait for a delayed RREP (due to congestion) (to omit this buffer set it to 0)

host4.aodv.ttlStart int 2

Specifies the TTL value when initiating a route request

host4.aodv.ttlIncrement int 2

Specifies the value by which the TTL will be incremented each time a RREQ is retransmitted

host4.aodv.ttlThreshold int 7

The maximum value of TTL over which NET_DIAMETER value will be used to broadcast any RREQ

host4.aodv.localAddTTL int 2

It is used by the formula which calculates the initial TTL of the RREQ for a local repair

host4.aodv.myRouteTimeout double 2 * activeRouteTimeout

The value of the lifetime field that a destination node places in RREPs

host4.aodv.deletePeriod double 5 * max(activeRouteTimeout, helloInterval)

The time after which an expired route is deleted

host4.aodv.blacklistTimeout double rreqRetries * netTraversalTime

The time after which a blacklisted node is removed from the blacklist

host4.aodv.netTraversalTime double 2 * nodeTraversalTime * netDiameter

An estimation of the traversal time for the complete network

host4.aodv.nextHopWait double nodeTraversalTime + 0.01s

Timeout for a RREP-ACK

host4.aodv.pathDiscoveryTime double 2 * netTraversalTime

Buffer timeout for each broadcasted RREQ message

host5.status.displayStringTextFormat string ""

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

host5.status.initialStatus string "UP"

TODO @signal, @statistic

host5.environment.displayStringTextFormat string ""

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

host5.environment.initStage int 0

Initialization stage for the setup command

host5.environment.globalNamespace bool false

Create new network namespaces under /var/run/netns/ (Linux only)

host5.environment.namespace string ""

Name of the host OS network namespace (optional) (Linux only)

host5.environment.setupCommand string ""

A host OS system command

host5.environment.teardownCommand string ""

A host OS system command

host5.pcapRecorder.displayStringTextFormat string "rec: %n pks"

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

host5.pcapRecorder.verbose bool true

Whether to log packets on the module output

host5.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

host5.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

host5.pcapRecorder.pcapFile string ""

The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap"

host5.pcapRecorder.fileFormat string "pcapng"
host5.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

host5.pcapRecorder.timePrecision int 6

Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format).

host5.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

host5.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

Space-separated list of sibling module names to listen on

host5.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

host5.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

host5.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

Space-separated list of protocol names as defined in the Protocol class

host5.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

host5.pcapRecorder.helpers string ""

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

host5.pcapRecorder.alwaysFlush bool false

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

host5.interfaceTable.displayStringTextFormat string ""

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

host5.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

host5.cb.displayStringTextFormat string "processed %p pk (%l)"

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

host5.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

host5.cb.forwardServiceRegistration bool true
host5.cb.forwardProtocolRegistration bool true
host5.cb.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host5.cb.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host5.cb.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host5.bl.displayStringTextFormat string "processed %p pk (%l)"

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

host5.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

host5.bl.forwardServiceRegistration bool true
host5.bl.forwardProtocolRegistration bool true
host5.bl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host5.bl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host5.bl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host5.li.displayStringTextFormat string "processed %p pk (%l)"

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

host5.li.interfaceTableModule string

Module path to the ~InterfaceTable module

host5.li.forwardServiceRegistration bool true
host5.li.forwardProtocolRegistration bool true
host5.li.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host5.li.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host5.li.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host5.eth.bitrate double
host5.nl.displayStringTextFormat string "processed %p pk (%l)"

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

host5.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

host5.nl.forwardServiceRegistration bool true
host5.nl.forwardProtocolRegistration bool true
host5.nl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host5.nl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host5.nl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host5.tn.displayStringTextFormat string "processed %p pk (%l)"

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

host5.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

host5.tn.forwardServiceRegistration bool true
host5.tn.forwardProtocolRegistration bool true
host5.tn.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host5.tn.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host5.tn.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host5.at.displayStringTextFormat string "processed %p pk (%l)"

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

host5.at.interfaceTableModule string

Module path to the ~InterfaceTable module

host5.at.forwardServiceRegistration bool true
host5.at.forwardProtocolRegistration bool true
host5.at.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

host5.at.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

host5.at.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

host5.aodv.displayStringTextFormat string ""

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

host5.aodv.routingTableModule string "^.ipv4.routingTable"
host5.aodv.interfaceTableModule string "^.interfaceTable"
host5.aodv.networkProtocolModule string "^.ipv4.ip"
host5.aodv.askGratuitousRREP bool false

See RFC 3561: 6.6.3

host5.aodv.useHelloMessages bool false

See RFC 3561: 6.9

host5.aodv.useLocalRepair bool false

See RFC 3561: 6.12 *not implemented yet*

host5.aodv.destinationOnlyFlag bool false

See RFC 3561: 5.1

host5.aodv.udpPort int 654
host5.aodv.interface string "wlan0"

The interface to be used for the AODV routing

host5.aodv.gatewayAddress string ""

The address of the external gateway (external traffic routed here by default)

host5.aodv.maxPeriodicJitter double helloInterval / 4

It MUST NOT be negative; it MUST NOT be greater than MESSAGE_INTERVAL/2; it SHOULD NOT be greater than MESSAGE_INTERVAL/4.

host5.aodv.periodicJitter double uniform(0s, maxPeriodicJitter)

Jitter for externally triggered message generation and message forwarding

host5.aodv.maxJitter double 5ms

RFC 5148: need more revision: As well as the decision as to whether to use jitter being dependent on the medium access control and lower layers, the selection of the MAXJITTER parameter SHOULD be appropriate to those mechanisms.

host5.aodv.jitter double uniform(0ms, maxJitter)

Jitter for broadcasts

host5.aodv.helloInterval double 1s

Every helloInterval seconds a node broadcasts Hello messages (if it is necessary)

host5.aodv.allowedHelloLoss int 2

AllowedHelloLoss * helloInterval is the lifetime value for Hello messages

host5.aodv.activeRouteTimeout double 3s

The timeout value for cached routes. If Hello messages are used, then the ACTIVE_ROUTE_TIMEOUT parameter value MUST be more than the value (ALLOWED_HELLO_LOSS * HELLO_INTERVAL).

host5.aodv.netDiameter int 35

The maximum possible number of hops between two nodes in the network

host5.aodv.nodeTraversalTime double 0.04s

An estimation of the average one-hop traversal time

host5.aodv.rerrRatelimit int 10

Maximum number of RERR messages that the AODV may originate in 1s.

host5.aodv.rreqRetries int 2

Specifies the number of times AODV will repeat an expanded ring search for a destination

host5.aodv.rreqRatelimit int 10

Maximum number of RREQ messages that the AODV may originate in 1s.

host5.aodv.timeoutBuffer int 2

Plus time to wait for a delayed RREP (due to congestion) (to omit this buffer set it to 0)

host5.aodv.ttlStart int 2

Specifies the TTL value when initiating a route request

host5.aodv.ttlIncrement int 2

Specifies the value by which the TTL will be incremented each time a RREQ is retransmitted

host5.aodv.ttlThreshold int 7

The maximum value of TTL over which NET_DIAMETER value will be used to broadcast any RREQ

host5.aodv.localAddTTL int 2

It is used by the formula which calculates the initial TTL of the RREQ for a local repair

host5.aodv.myRouteTimeout double 2 * activeRouteTimeout

The value of the lifetime field that a destination node places in RREPs

host5.aodv.deletePeriod double 5 * max(activeRouteTimeout, helloInterval)

The time after which an expired route is deleted

host5.aodv.blacklistTimeout double rreqRetries * netTraversalTime

The time after which a blacklisted node is removed from the blacklist

host5.aodv.netTraversalTime double 2 * nodeTraversalTime * netDiameter

An estimation of the traversal time for the complete network

host5.aodv.nextHopWait double nodeTraversalTime + 0.01s

Timeout for a RREP-ACK

host5.aodv.pathDiscoveryTime double 2 * netTraversalTime

Buffer timeout for each broadcasted RREQ message

destinationHost.status.displayStringTextFormat string ""

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

destinationHost.status.initialStatus string "UP"

TODO @signal, @statistic

destinationHost.environment.displayStringTextFormat string ""

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

destinationHost.environment.initStage int 0

Initialization stage for the setup command

destinationHost.environment.globalNamespace bool false

Create new network namespaces under /var/run/netns/ (Linux only)

destinationHost.environment.namespace string ""

Name of the host OS network namespace (optional) (Linux only)

destinationHost.environment.setupCommand string ""

A host OS system command

destinationHost.environment.teardownCommand string ""

A host OS system command

destinationHost.pcapRecorder.displayStringTextFormat string "rec: %n pks"

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

destinationHost.pcapRecorder.verbose bool true

Whether to log packets on the module output

destinationHost.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

destinationHost.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

destinationHost.pcapRecorder.pcapFile string ""

The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap"

destinationHost.pcapRecorder.fileFormat string "pcapng"
destinationHost.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

destinationHost.pcapRecorder.timePrecision int 6

Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format).

destinationHost.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

destinationHost.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

Space-separated list of sibling module names to listen on

destinationHost.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

destinationHost.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

destinationHost.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

Space-separated list of protocol names as defined in the Protocol class

destinationHost.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

destinationHost.pcapRecorder.helpers string ""

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

destinationHost.pcapRecorder.alwaysFlush bool false

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

destinationHost.interfaceTable.displayStringTextFormat string ""

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

destinationHost.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

destinationHost.cb.displayStringTextFormat string "processed %p pk (%l)"

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

destinationHost.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

destinationHost.cb.forwardServiceRegistration bool true
destinationHost.cb.forwardProtocolRegistration bool true
destinationHost.cb.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

destinationHost.cb.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

destinationHost.cb.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

destinationHost.bl.displayStringTextFormat string "processed %p pk (%l)"

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

destinationHost.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

destinationHost.bl.forwardServiceRegistration bool true
destinationHost.bl.forwardProtocolRegistration bool true
destinationHost.bl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

destinationHost.bl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

destinationHost.bl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

destinationHost.li.displayStringTextFormat string "processed %p pk (%l)"

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

destinationHost.li.interfaceTableModule string

Module path to the ~InterfaceTable module

destinationHost.li.forwardServiceRegistration bool true
destinationHost.li.forwardProtocolRegistration bool true
destinationHost.li.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

destinationHost.li.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

destinationHost.li.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

destinationHost.eth.bitrate double
destinationHost.nl.displayStringTextFormat string "processed %p pk (%l)"

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

destinationHost.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

destinationHost.nl.forwardServiceRegistration bool true
destinationHost.nl.forwardProtocolRegistration bool true
destinationHost.nl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

destinationHost.nl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

destinationHost.nl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

destinationHost.tn.displayStringTextFormat string "processed %p pk (%l)"

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

destinationHost.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

destinationHost.tn.forwardServiceRegistration bool true
destinationHost.tn.forwardProtocolRegistration bool true
destinationHost.tn.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

destinationHost.tn.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

destinationHost.tn.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

destinationHost.at.displayStringTextFormat string "processed %p pk (%l)"

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

destinationHost.at.interfaceTableModule string

Module path to the ~InterfaceTable module

destinationHost.at.forwardServiceRegistration bool true
destinationHost.at.forwardProtocolRegistration bool true
destinationHost.at.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

destinationHost.at.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

destinationHost.at.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

destinationHost.aodv.displayStringTextFormat string ""

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

destinationHost.aodv.routingTableModule string "^.ipv4.routingTable"
destinationHost.aodv.interfaceTableModule string "^.interfaceTable"
destinationHost.aodv.networkProtocolModule string "^.ipv4.ip"
destinationHost.aodv.askGratuitousRREP bool false

See RFC 3561: 6.6.3

destinationHost.aodv.useHelloMessages bool false

See RFC 3561: 6.9

destinationHost.aodv.useLocalRepair bool false

See RFC 3561: 6.12 *not implemented yet*

destinationHost.aodv.destinationOnlyFlag bool false

See RFC 3561: 5.1

destinationHost.aodv.udpPort int 654
destinationHost.aodv.interface string "wlan0"

The interface to be used for the AODV routing

destinationHost.aodv.gatewayAddress string ""

The address of the external gateway (external traffic routed here by default)

destinationHost.aodv.maxPeriodicJitter double helloInterval / 4

It MUST NOT be negative; it MUST NOT be greater than MESSAGE_INTERVAL/2; it SHOULD NOT be greater than MESSAGE_INTERVAL/4.

destinationHost.aodv.periodicJitter double uniform(0s, maxPeriodicJitter)

Jitter for externally triggered message generation and message forwarding

destinationHost.aodv.maxJitter double 5ms

RFC 5148: need more revision: As well as the decision as to whether to use jitter being dependent on the medium access control and lower layers, the selection of the MAXJITTER parameter SHOULD be appropriate to those mechanisms.

destinationHost.aodv.jitter double uniform(0ms, maxJitter)

Jitter for broadcasts

destinationHost.aodv.helloInterval double 1s

Every helloInterval seconds a node broadcasts Hello messages (if it is necessary)

destinationHost.aodv.allowedHelloLoss int 2

AllowedHelloLoss * helloInterval is the lifetime value for Hello messages

destinationHost.aodv.activeRouteTimeout double 3s

The timeout value for cached routes. If Hello messages are used, then the ACTIVE_ROUTE_TIMEOUT parameter value MUST be more than the value (ALLOWED_HELLO_LOSS * HELLO_INTERVAL).

destinationHost.aodv.netDiameter int 35

The maximum possible number of hops between two nodes in the network

destinationHost.aodv.nodeTraversalTime double 0.04s

An estimation of the average one-hop traversal time

destinationHost.aodv.rerrRatelimit int 10

Maximum number of RERR messages that the AODV may originate in 1s.

destinationHost.aodv.rreqRetries int 2

Specifies the number of times AODV will repeat an expanded ring search for a destination

destinationHost.aodv.rreqRatelimit int 10

Maximum number of RREQ messages that the AODV may originate in 1s.

destinationHost.aodv.timeoutBuffer int 2

Plus time to wait for a delayed RREP (due to congestion) (to omit this buffer set it to 0)

destinationHost.aodv.ttlStart int 2

Specifies the TTL value when initiating a route request

destinationHost.aodv.ttlIncrement int 2

Specifies the value by which the TTL will be incremented each time a RREQ is retransmitted

destinationHost.aodv.ttlThreshold int 7

The maximum value of TTL over which NET_DIAMETER value will be used to broadcast any RREQ

destinationHost.aodv.localAddTTL int 2

It is used by the formula which calculates the initial TTL of the RREQ for a local repair

destinationHost.aodv.myRouteTimeout double 2 * activeRouteTimeout

The value of the lifetime field that a destination node places in RREPs

destinationHost.aodv.deletePeriod double 5 * max(activeRouteTimeout, helloInterval)

The time after which an expired route is deleted

destinationHost.aodv.blacklistTimeout double rreqRetries * netTraversalTime

The time after which a blacklisted node is removed from the blacklist

destinationHost.aodv.netTraversalTime double 2 * nodeTraversalTime * netDiameter

An estimation of the traversal time for the complete network

destinationHost.aodv.nextHopWait double nodeTraversalTime + 0.01s

Timeout for a RREP-ACK

destinationHost.aodv.pathDiscoveryTime double 2 * netTraversalTime

Buffer timeout for each broadcasted RREQ message

configurator.displayStringTextFormat string ""

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

configurator.minLinkWeight double 1E-3
configurator.configureIsolatedNetworksSeparatly bool false
configurator.config xml xml("")

XML configuration parameters for IP address assignment and adding manual routes

configurator.assignAddresses bool true

Assign IP addresses to all interfaces in the network

configurator.assignUniqueAddresses bool true

Avoid using the same address and raise an error if not possible

configurator.assignDisjunctSubnetAddresses bool true

Avoid using the same address prefix and netmask on different links when assigning IP addresses to interfaces

configurator.addStaticRoutes bool true

Add static routes to the routing tables of all nodes to route to all destination interfaces (only where applicable; turn off when config file contains manual routes)

configurator.addDefaultRoutes bool true

Add default routes if all routes from a source node go through the same gateway (used only if addStaticRoutes is true)

configurator.addSubnetRoutes bool true

Add subnet routes instead of destination interface routes (only where applicable; used only if addStaticRoutes is true)

configurator.addDirectRoutes bool true

Add direct routes towards local network members (i.e. directly connected interfaces) to the routing table (used only if addStaticRoutes is true)

configurator.optimizeRoutes bool true

Optimize routing tables by merging routes, the resulting routing table might route more packets than the original (used only if addStaticRoutes is true)

configurator.updateRoutes bool false

Recalculate static routes if an interface goes down/up or a carrier is lost/back

configurator.dumpTopology bool false

Print extracted network topology to the module output

configurator.dumpLinks bool false

Print recognized network links to the module output

configurator.dumpAddresses bool false

Print assigned IP addresses for all interfaces to the module output

configurator.dumpRoutes bool false

Print configured and optimized routing tables for all nodes to the module output

configurator.dumpConfig string ""

Write configuration into the given config file that can be fed back to speed up subsequent runs (network configurations)

visualizer.sceneVisualizer.visualizationTargetModule string
visualizer.sceneVisualizer.visualizationSubjectModule string
visualizer.physicalEnvironmentVisualizer.visualizationTargetModule string
visualizer.physicalEnvironmentVisualizer.visualizationSubjectModule string
visualizer.networkNodeVisualizer.visualizationTargetModule string
visualizer.networkNodeVisualizer.visualizationSubjectModule string
visualizer.networkConnectionVisualizer.visualizationTargetModule string
visualizer.networkConnectionVisualizer.visualizationSubjectModule string
visualizer.mobilityVisualizer.visualizationTargetModule string
visualizer.mobilityVisualizer.visualizationSubjectModule string
visualizer.statisticVisualizer.visualizationTargetModule string
visualizer.statisticVisualizer.visualizationSubjectModule string
visualizer.infoVisualizer.visualizationTargetModule string
visualizer.infoVisualizer.visualizationSubjectModule string
visualizer.energyStorageVisualizer.visualizationTargetModule string
visualizer.energyStorageVisualizer.visualizationSubjectModule string
visualizer.mediumVisualizer.visualizationTargetModule string
visualizer.mediumVisualizer.visualizationSubjectModule string
visualizer.obstacleLossVisualizer.visualizationTargetModule string
visualizer.obstacleLossVisualizer.visualizationSubjectModule string
visualizer.packetDropVisualizer.visualizationTargetModule string
visualizer.packetDropVisualizer.visualizationSubjectModule string
visualizer.packetFlowVisualizer.visualizationTargetModule string
visualizer.packetFlowVisualizer.visualizationSubjectModule string
visualizer.queueVisualizer.visualizationTargetModule string
visualizer.queueVisualizer.visualizationSubjectModule string
visualizer.gateScheduleVisualizer.visualizationTargetModule string
visualizer.gateScheduleVisualizer.visualizationSubjectModule string
visualizer.radioVisualizer.visualizationTargetModule string
visualizer.radioVisualizer.visualizationSubjectModule string
visualizer.physicalLinkVisualizer.visualizationTargetModule string
visualizer.physicalLinkVisualizer.visualizationSubjectModule string
visualizer.interfaceTableVisualizer.visualizationTargetModule string
visualizer.interfaceTableVisualizer.visualizationSubjectModule string
visualizer.dataLinkVisualizer.visualizationTargetModule string
visualizer.dataLinkVisualizer.visualizationSubjectModule string
visualizer.linkBreakVisualizer.visualizationTargetModule string
visualizer.linkBreakVisualizer.visualizationSubjectModule string
visualizer.ieee80211Visualizer.visualizationTargetModule string
visualizer.ieee80211Visualizer.visualizationSubjectModule string
visualizer.networkRouteVisualizer.visualizationTargetModule string
visualizer.networkRouteVisualizer.visualizationSubjectModule string
visualizer.routingTableVisualizer.visualizationTargetModule string
visualizer.routingTableVisualizer.visualizationSubjectModule string
visualizer.transportRouteVisualizer.visualizationTargetModule string
visualizer.transportRouteVisualizer.visualizationSubjectModule string
visualizer.transportConnectionVisualizer.visualizationTargetModule string
visualizer.transportConnectionVisualizer.visualizationSubjectModule string
visualizer.failureProtectionConfigurationVisualizer.visualizationTargetModule string
visualizer.failureProtectionConfigurationVisualizer.visualizationSubjectModule string
visualizer.streamRedundancyConfigurationVisualizer.visualizationTargetModule string
visualizer.streamRedundancyConfigurationVisualizer.visualizationSubjectModule string
radioMedium.neighborCache.refillPeriod double

Source code

network RoutingTableVisualizationDynamicShowcase
{
    @display("bgb=822,636");
    submodules:
        sourceHost: AodvRouter {
            @display("p=120,57");
        }
        host1: AodvRouter {
            @display("p=119.04,148.48");
        }
        host2: AodvRouter {
            @display("p=119.04,241.92");
        }
        host3: AodvRouter {
            @display("p=119.04,341.76");
        }
        host4: AodvRouter {
            @display("p=119.04,451.84");
        }
        host5: AodvRouter {
            @display("p=119.04,554.24");
        }
        destinationHost: AodvRouter {
            @display("p=272.64,56.32");
        }
        configurator: Ipv4NetworkConfigurator {
            @display("p=556,101");
        }
        visualizer: IntegratedCanvasVisualizer {
            @display("p=556,179");
        }
        radioMedium: Ieee80211ScalarRadioMedium {
            @display("p=560,255");
        }
}




File: showcases/visualizer/canvas/routingtable/RoutingTableVisualizationShowcase.ned