ConfiguratorD

Package: inet.tutorials.configurator

ConfiguratorD

network

(no description)

AodvRouter AodvRouter AodvRouter AodvRouter AodvRouter AodvRouter AodvRouter Ipv4NetworkConfigurator Ieee80211ScalarRadioMedium IntegratedCanvasVisualizer

Usage diagram

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

Properties

Name Value Description
isNetwork
display bgb=939.89996,581.1

Unassigned submodule parameters

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

TODO @signal, @statistic

host1.pcapRecorder.verbose bool true

whether to log packets on the module output

host1.pcapRecorder.pcapFile string ""

the PCAP file to be written

host1.pcapRecorder.fileFormat string "pcapng"
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[*]"

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.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.pcapRecorder.displayStringTextFormat string "rec: %n pks"
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

host1.cb.forwardServiceRegistration bool true
host1.cb.forwardProtocolRegistration bool true
host1.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host1.bl.forwardServiceRegistration bool true
host1.bl.forwardProtocolRegistration bool true
host1.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host1.li.forwardServiceRegistration bool true
host1.li.forwardProtocolRegistration bool true
host1.eth.bitrate double
host1.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host1.nl.forwardServiceRegistration bool true
host1.nl.forwardProtocolRegistration bool true
host1.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host1.tn.forwardServiceRegistration bool true
host1.tn.forwardProtocolRegistration bool true
host1.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host1.at.forwardServiceRegistration bool true
host1.at.forwardProtocolRegistration bool true
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"
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.pcapRecorder.verbose bool true

whether to log packets on the module output

host2.pcapRecorder.pcapFile string ""

the PCAP file to be written

host2.pcapRecorder.fileFormat string "pcapng"
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[*]"

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.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.pcapRecorder.displayStringTextFormat string "rec: %n pks"
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

host2.cb.forwardServiceRegistration bool true
host2.cb.forwardProtocolRegistration bool true
host2.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host2.bl.forwardServiceRegistration bool true
host2.bl.forwardProtocolRegistration bool true
host2.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host2.li.forwardServiceRegistration bool true
host2.li.forwardProtocolRegistration bool true
host2.eth.bitrate double
host2.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host2.nl.forwardServiceRegistration bool true
host2.nl.forwardProtocolRegistration bool true
host2.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host2.tn.forwardServiceRegistration bool true
host2.tn.forwardProtocolRegistration bool true
host2.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host2.at.forwardServiceRegistration bool true
host2.at.forwardProtocolRegistration bool true
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"
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.pcapRecorder.verbose bool true

whether to log packets on the module output

host3.pcapRecorder.pcapFile string ""

the PCAP file to be written

host3.pcapRecorder.fileFormat string "pcapng"
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[*]"

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.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.pcapRecorder.displayStringTextFormat string "rec: %n pks"
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

host3.cb.forwardServiceRegistration bool true
host3.cb.forwardProtocolRegistration bool true
host3.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host3.bl.forwardServiceRegistration bool true
host3.bl.forwardProtocolRegistration bool true
host3.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host3.li.forwardServiceRegistration bool true
host3.li.forwardProtocolRegistration bool true
host3.eth.bitrate double
host3.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host3.nl.forwardServiceRegistration bool true
host3.nl.forwardProtocolRegistration bool true
host3.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host3.tn.forwardServiceRegistration bool true
host3.tn.forwardProtocolRegistration bool true
host3.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host3.at.forwardServiceRegistration bool true
host3.at.forwardProtocolRegistration bool true
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"
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.pcapRecorder.verbose bool true

whether to log packets on the module output

host4.pcapRecorder.pcapFile string ""

the PCAP file to be written

host4.pcapRecorder.fileFormat string "pcapng"
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[*]"

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.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.pcapRecorder.displayStringTextFormat string "rec: %n pks"
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

host4.cb.forwardServiceRegistration bool true
host4.cb.forwardProtocolRegistration bool true
host4.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host4.bl.forwardServiceRegistration bool true
host4.bl.forwardProtocolRegistration bool true
host4.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host4.li.forwardServiceRegistration bool true
host4.li.forwardProtocolRegistration bool true
host4.eth.bitrate double
host4.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host4.nl.forwardServiceRegistration bool true
host4.nl.forwardProtocolRegistration bool true
host4.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host4.tn.forwardServiceRegistration bool true
host4.tn.forwardProtocolRegistration bool true
host4.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host4.at.forwardServiceRegistration bool true
host4.at.forwardProtocolRegistration bool true
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"
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.pcapRecorder.verbose bool true

whether to log packets on the module output

host5.pcapRecorder.pcapFile string ""

the PCAP file to be written

host5.pcapRecorder.fileFormat string "pcapng"
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[*]"

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.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.pcapRecorder.displayStringTextFormat string "rec: %n pks"
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

host5.cb.forwardServiceRegistration bool true
host5.cb.forwardProtocolRegistration bool true
host5.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host5.bl.forwardServiceRegistration bool true
host5.bl.forwardProtocolRegistration bool true
host5.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host5.li.forwardServiceRegistration bool true
host5.li.forwardProtocolRegistration bool true
host5.eth.bitrate double
host5.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host5.nl.forwardServiceRegistration bool true
host5.nl.forwardProtocolRegistration bool true
host5.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host5.tn.forwardServiceRegistration bool true
host5.tn.forwardProtocolRegistration bool true
host5.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host5.at.forwardServiceRegistration bool true
host5.at.forwardProtocolRegistration bool true
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"
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

host6.status.initialStatus string "UP"

TODO @signal, @statistic

host6.pcapRecorder.verbose bool true

whether to log packets on the module output

host6.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

host6.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

host6.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host6.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host6.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

host6.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

host6.pcapRecorder.helpers string ""

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

host6.pcapRecorder.alwaysFlush bool false

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

host6.pcapRecorder.displayStringTextFormat string "rec: %n pks"
host6.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

host6.cb.forwardServiceRegistration bool true
host6.cb.forwardProtocolRegistration bool true
host6.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host6.bl.forwardServiceRegistration bool true
host6.bl.forwardProtocolRegistration bool true
host6.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host6.li.forwardServiceRegistration bool true
host6.li.forwardProtocolRegistration bool true
host6.eth.bitrate double
host6.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host6.nl.forwardServiceRegistration bool true
host6.nl.forwardProtocolRegistration bool true
host6.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host6.tn.forwardServiceRegistration bool true
host6.tn.forwardProtocolRegistration bool true
host6.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host6.at.forwardServiceRegistration bool true
host6.at.forwardProtocolRegistration bool true
host6.aodv.routingTableModule string "^.ipv4.routingTable"
host6.aodv.interfaceTableModule string "^.interfaceTable"
host6.aodv.networkProtocolModule string "^.ipv4.ip"
host6.aodv.askGratuitousRREP bool false

see RFC 3561: 6.6.3

host6.aodv.useHelloMessages bool false

see RFC 3561: 6.9

host6.aodv.useLocalRepair bool false

see RFC 3561: 6.12 *not implemented yet*

host6.aodv.destinationOnlyFlag bool false

see RFC 3561: 5.1

host6.aodv.udpPort int 654
host6.aodv.interface string "wlan0"
host6.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.

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

jitter for externally triggered message generation and message forwarding

host6.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.

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

jitter for broadcasts

host6.aodv.helloInterval double 1s

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

host6.aodv.allowedHelloLoss int 2

allowedHelloLoss * helloInterval is the lifetime value for Hello messages

host6.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).

host6.aodv.netDiameter int 35

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

host6.aodv.nodeTraversalTime double 0.04s

an estimation of the average one-hop traversal time

host6.aodv.rerrRatelimit int 10

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

host6.aodv.rreqRetries int 2

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

host6.aodv.rreqRatelimit int 10

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

host6.aodv.timeoutBuffer int 2

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

host6.aodv.ttlStart int 2

specifies the TTL value when initiating a route request

host6.aodv.ttlIncrement int 2

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

host6.aodv.ttlThreshold int 7

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

host6.aodv.localAddTTL int 2

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

host6.aodv.myRouteTimeout double 2 * activeRouteTimeout

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

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

the time after which an expired route is deleted

host6.aodv.blacklistTimeout double rreqRetries * netTraversalTime

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

host6.aodv.netTraversalTime double 2 * nodeTraversalTime * netDiameter

an estimation of the traversal time for the complete network

host6.aodv.nextHopWait double nodeTraversalTime + 0.01s

timeout for a RREP-ACK

host6.aodv.pathDiscoveryTime double 2 * netTraversalTime

buffer timeout for each broadcasted RREQ message

host7.status.initialStatus string "UP"

TODO @signal, @statistic

host7.pcapRecorder.verbose bool true

whether to log packets on the module output

host7.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

host7.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

host7.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

host7.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

host7.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

host7.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

host7.pcapRecorder.helpers string ""

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

host7.pcapRecorder.alwaysFlush bool false

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

host7.pcapRecorder.displayStringTextFormat string "rec: %n pks"
host7.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

host7.cb.forwardServiceRegistration bool true
host7.cb.forwardProtocolRegistration bool true
host7.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host7.bl.forwardServiceRegistration bool true
host7.bl.forwardProtocolRegistration bool true
host7.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host7.li.forwardServiceRegistration bool true
host7.li.forwardProtocolRegistration bool true
host7.eth.bitrate double
host7.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host7.nl.forwardServiceRegistration bool true
host7.nl.forwardProtocolRegistration bool true
host7.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host7.tn.forwardServiceRegistration bool true
host7.tn.forwardProtocolRegistration bool true
host7.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

host7.at.forwardServiceRegistration bool true
host7.at.forwardProtocolRegistration bool true
host7.aodv.routingTableModule string "^.ipv4.routingTable"
host7.aodv.interfaceTableModule string "^.interfaceTable"
host7.aodv.networkProtocolModule string "^.ipv4.ip"
host7.aodv.askGratuitousRREP bool false

see RFC 3561: 6.6.3

host7.aodv.useHelloMessages bool false

see RFC 3561: 6.9

host7.aodv.useLocalRepair bool false

see RFC 3561: 6.12 *not implemented yet*

host7.aodv.destinationOnlyFlag bool false

see RFC 3561: 5.1

host7.aodv.udpPort int 654
host7.aodv.interface string "wlan0"
host7.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.

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

jitter for externally triggered message generation and message forwarding

host7.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.

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

jitter for broadcasts

host7.aodv.helloInterval double 1s

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

host7.aodv.allowedHelloLoss int 2

allowedHelloLoss * helloInterval is the lifetime value for Hello messages

host7.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).

host7.aodv.netDiameter int 35

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

host7.aodv.nodeTraversalTime double 0.04s

an estimation of the average one-hop traversal time

host7.aodv.rerrRatelimit int 10

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

host7.aodv.rreqRetries int 2

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

host7.aodv.rreqRatelimit int 10

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

host7.aodv.timeoutBuffer int 2

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

host7.aodv.ttlStart int 2

specifies the TTL value when initiating a route request

host7.aodv.ttlIncrement int 2

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

host7.aodv.ttlThreshold int 7

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

host7.aodv.localAddTTL int 2

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

host7.aodv.myRouteTimeout double 2 * activeRouteTimeout

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

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

the time after which an expired route is deleted

host7.aodv.blacklistTimeout double rreqRetries * netTraversalTime

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

host7.aodv.netTraversalTime double 2 * nodeTraversalTime * netDiameter

an estimation of the traversal time for the complete network

host7.aodv.nextHopWait double nodeTraversalTime + 0.01s

timeout for a RREP-ACK

host7.aodv.pathDiscoveryTime double 2 * netTraversalTime

buffer timeout for each broadcasted RREQ message

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 (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.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 ConfiguratorD
{
    @display("bgb=939.89996,581.1");
    submodules:
        host1: AodvRouter {
            @display("p=239.148,74.897995");
        }
        host2: AodvRouter {
            @display("p=483,221");
        }
        host3: AodvRouter {
            @display("p=513.774,345.582");
        }
        host4: AodvRouter {
            @display("p=304.848,182.646;b=7,5");
        }
        host5: AodvRouter {
            @display("p=650.43,436.248");
        }
        host6: AodvRouter {
            @display("p=361.35,294.336");
        }
        host7: AodvRouter {
            @display("p=778,462");
        }
        configurator: Ipv4NetworkConfigurator {
            @display("p=50,50");
        }
        radioMedium: Ieee80211ScalarRadioMedium {
            @display("p=50,100");
        }
        visualizer: IntegratedCanvasVisualizer {
            @display("p=50,150");
        }
}
File: tutorials/configurator/ConfiguratorD.ned