Network RoutingTableVisualizationDynamicShowcase

Package: inet.showcases.visualizer.routingtable
File: showcases/visualizer/routingtable/RoutingTableVisualizationShowcase.ned

(no description)

AODVRouter AODVRouter AODVRouter AODVRouter AODVRouter AODVRouter AODVRouter IPv4NetworkConfigurator IntegratedVisualizer Ieee80211ScalarRadioMedium

Usage diagram:

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

Inheritance diagram:

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

Properties:

Name Value Description
isNetwork
display bgb=822,636

Unassigned submodule parameters:

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

TODO @signal, @statistic

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

whether to display IP addresses on links

sourceHost.pcapRecorder.verbose bool false

whether to log packets on the module output

sourceHost.pcapRecorder.pcapFile string ""

the PCAP file to be written

sourceHost.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

sourceHost.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

sourceHost.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

sourceHost.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

sourceHost.pcapRecorder.alwaysFlush bool false

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

sourceHost.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

sourceHost.lo0.lo.mtu int 4470B
sourceHost.aodv.routingTableModule string "^.routingTable"
sourceHost.aodv.interfaceTableModule string "^.interfaceTable"
sourceHost.aodv.networkProtocolModule string "^.networkLayer.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.udpPort int 654
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 revise: 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.initialStatus string "UP"

TODO @signal, @statistic

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

whether to display IP addresses on links

host1.pcapRecorder.verbose bool false

whether to log packets on the module output

host1.pcapRecorder.pcapFile string ""

the PCAP file to be written

host1.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

host1.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

host1.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host1.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host1.pcapRecorder.alwaysFlush bool false

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

host1.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

host1.lo0.lo.mtu int 4470B
host1.aodv.routingTableModule string "^.routingTable"
host1.aodv.interfaceTableModule string "^.interfaceTable"
host1.aodv.networkProtocolModule string "^.networkLayer.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.udpPort int 654
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 revise: 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.initialStatus string "UP"

TODO @signal, @statistic

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

whether to display IP addresses on links

host2.pcapRecorder.verbose bool false

whether to log packets on the module output

host2.pcapRecorder.pcapFile string ""

the PCAP file to be written

host2.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

host2.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

host2.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host2.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host2.pcapRecorder.alwaysFlush bool false

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

host2.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

host2.lo0.lo.mtu int 4470B
host2.aodv.routingTableModule string "^.routingTable"
host2.aodv.interfaceTableModule string "^.interfaceTable"
host2.aodv.networkProtocolModule string "^.networkLayer.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.udpPort int 654
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 revise: 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.initialStatus string "UP"

TODO @signal, @statistic

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

whether to display IP addresses on links

host3.pcapRecorder.verbose bool false

whether to log packets on the module output

host3.pcapRecorder.pcapFile string ""

the PCAP file to be written

host3.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

host3.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

host3.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host3.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host3.pcapRecorder.alwaysFlush bool false

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

host3.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

host3.lo0.lo.mtu int 4470B
host3.aodv.routingTableModule string "^.routingTable"
host3.aodv.interfaceTableModule string "^.interfaceTable"
host3.aodv.networkProtocolModule string "^.networkLayer.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.udpPort int 654
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 revise: 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.initialStatus string "UP"

TODO @signal, @statistic

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

whether to display IP addresses on links

host4.pcapRecorder.verbose bool false

whether to log packets on the module output

host4.pcapRecorder.pcapFile string ""

the PCAP file to be written

host4.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

host4.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

host4.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host4.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host4.pcapRecorder.alwaysFlush bool false

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

host4.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

host4.lo0.lo.mtu int 4470B
host4.aodv.routingTableModule string "^.routingTable"
host4.aodv.interfaceTableModule string "^.interfaceTable"
host4.aodv.networkProtocolModule string "^.networkLayer.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.udpPort int 654
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 revise: 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.initialStatus string "UP"

TODO @signal, @statistic

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

whether to display IP addresses on links

host5.pcapRecorder.verbose bool false

whether to log packets on the module output

host5.pcapRecorder.pcapFile string ""

the PCAP file to be written

host5.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

host5.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

host5.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host5.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host5.pcapRecorder.alwaysFlush bool false

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

host5.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

host5.lo0.lo.mtu int 4470B
host5.aodv.routingTableModule string "^.routingTable"
host5.aodv.interfaceTableModule string "^.interfaceTable"
host5.aodv.networkProtocolModule string "^.networkLayer.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.udpPort int 654
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 revise: 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.initialStatus string "UP"

TODO @signal, @statistic

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

whether to display IP addresses on links

destinationHost.pcapRecorder.verbose bool false

whether to log packets on the module output

destinationHost.pcapRecorder.pcapFile string ""

the PCAP file to be written

destinationHost.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

destinationHost.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

destinationHost.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

destinationHost.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

destinationHost.pcapRecorder.alwaysFlush bool false

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

destinationHost.lo0.lo.interfaceTableModule string

The path to the InterfaceTable module

destinationHost.lo0.lo.mtu int 4470B
destinationHost.aodv.routingTableModule string "^.routingTable"
destinationHost.aodv.interfaceTableModule string "^.interfaceTable"
destinationHost.aodv.networkProtocolModule string "^.networkLayer.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.udpPort int 654
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 revise: 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.minLinkWeight double 1E-3
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.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.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.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)

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: IntegratedVisualizer {
            @display("p=556,179");
        }
        radioMedium: Ieee80211ScalarRadioMedium {
            @display("p=560,255");
        }
}