SeaportNetwork

Package: inet.examples.seaport

SeaportNetwork

network

(no description)

pcapRecorder[numPcapRecorders] : PcapRecorder

Records PCAP traces of frames sent/received by other modules within the same host.

Source:
pcapRecorder[numPcapRecorders]: PcapRecorder {
    parameters:
        moduleNamePatterns = ".^";
        @display("p=100,100;is=s");
} visualizer : like IIntegratedVisualizer

IIntegratedVisualizer: Interface allows configuring different ~IIntegratedVisualizer submodules from INI files.

Source:
visualizer: <default(firstAvailableOrEmpty("IntegratedCanvasVisualizer"))> like IIntegratedVisualizer if typename != "" {
    parameters:
        @display("p=100,200;is=s");
} configurator : like IL3NetworkConfigurator

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

IL3NetworkConfigurator: Interface for all layer 3 network configurators.

Source:
configurator: <default("Ipv4NetworkConfigurator")> like IL3NetworkConfigurator if typename != "" {
    parameters:
        @display("p=100,300;is=s");
} moduleDump[numModuleDumps] : ModuleDump

Source:
moduleDump[numModuleDumps]: ModuleDump {
    parameters:
        @display("p=100,400;is=s");
} radioMedium : like IRadioMedium

RadioMedium: The medium model describes the shared physical medium where communication takes place.

IRadioMedium: The medium model describes the shared physical medium where communication takes place.

Source:
radioMedium: <default("RadioMedium")> like IRadioMedium if typename != "" {
    parameters:
        @display("p=100,400;is=s");
} physicalEnvironment : like IPhysicalEnvironment

PhysicalEnvironment: The propagation of communication signals, the movement of communicating agents, or battery...

IPhysicalEnvironment: Module interface for physical environment models that contain physical objects affecting signal...

Source:
physicalEnvironment: <default("PhysicalEnvironment")> like IPhysicalEnvironment if typename != "" {
    parameters:
        @display("p=100,500;is=s");
} ap1 : AccessPoint

A wireless access point device that connects wireless stations (like WirelessHost) to a wired...

Source:
ap1: AccessPoint {
    @display("i=device/antennatower;p=1243,92");
} ap2 : AccessPoint

A wireless access point device that connects wireless stations (like WirelessHost) to a wired...

Source:
ap2: AccessPoint {
    @display("i=device/antennatower;p=1739,220");
} ap3 : AccessPoint

A wireless access point device that connects wireless stations (like WirelessHost) to a wired...

Source:
ap3: AccessPoint {
    @display("i=device/antennatower;p=597,269");
} ap4 : AccessPoint

A wireless access point device that connects wireless stations (like WirelessHost) to a wired...

Source:
ap4: AccessPoint {
    @display("i=device/antennatower;p=1138,484");
} ap5 : AccessPoint

A wireless access point device that connects wireless stations (like WirelessHost) to a wired...

Source:
ap5: AccessPoint {
    @display("i=device/antennatower;p=1680,663");
} ap6 : AccessPoint

A wireless access point device that connects wireless stations (like WirelessHost) to a wired...

Source:
ap6: AccessPoint {
    @display("i=device/antennatower;p=505,907");
} router1 : GpsrRouter

Source:
router1: GpsrRouter {
    @display("p=1530,179");
} router2 : GpsrRouter

Source:
router2: GpsrRouter {
    @display("p=988,742");
} router3 : GpsrRouter

Source:
router3: GpsrRouter {
    @display("p=1510,742");
} server : GpsrStandardHost

Source:
server: GpsrStandardHost {
    @display("p=1586,886");
} ship[numShips] : GpsrWirelessHost

Source:
ship[numShips]: GpsrWirelessHost {
    @display("i=misc/transparent");
}

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.

Extends

Name Type Description
WirelessNetworkBase network (no description)

Parameters

Name Type Default value Description
displayStringTextFormat string ""

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

recordPcap bool false
numPcapRecorders int recordPcap ? 1 : 0
numModuleDumps int 0
numShips int

Properties

Name Value Description
class NetworkBase
isNetwork
display bgi=misc/seaport;bgb=1800,1000

Unassigned submodule parameters

Name Type Default value Description
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

pcapRecorder.verbose bool true

Whether to log packets on the module output

pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

pcapRecorder.helpers string ""

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

pcapRecorder.alwaysFlush bool false

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

moduleDump.modulePath string "^"
moduleDump.fileName string ""
moduleDump.time double 0
moduleDump.printClassNames bool false
moduleDump.printProperties bool false
moduleDump.printParamAssignmentLocations bool false
ap1.status.displayStringTextFormat string ""

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

ap1.status.initialStatus string "UP"

TODO @signal, @statistic

ap1.interfaceTable.displayStringTextFormat string ""

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

ap1.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

ap1.macTable.agingTime double
ap1.macTable.forwardingTableFile string
ap1.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

ap1.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

ap1.bl.forwardServiceRegistration bool true
ap1.bl.forwardProtocolRegistration bool true
ap1.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

ap1.bl.serviceMapping object {}

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

ap1.bl.protocolMapping object {}

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

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

ap1.li.interfaceTableModule string

Module path to the ~InterfaceTable module

ap1.li.forwardServiceRegistration bool true
ap1.li.forwardProtocolRegistration bool true
ap1.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

ap1.li.serviceMapping object {}

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

ap1.li.protocolMapping object {}

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

ap1.eth.bitrate double
ap2.status.displayStringTextFormat string ""

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

ap2.status.initialStatus string "UP"

TODO @signal, @statistic

ap2.interfaceTable.displayStringTextFormat string ""

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

ap2.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

ap2.macTable.agingTime double
ap2.macTable.forwardingTableFile string
ap2.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

ap2.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

ap2.bl.forwardServiceRegistration bool true
ap2.bl.forwardProtocolRegistration bool true
ap2.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

ap2.bl.serviceMapping object {}

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

ap2.bl.protocolMapping object {}

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

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

ap2.li.interfaceTableModule string

Module path to the ~InterfaceTable module

ap2.li.forwardServiceRegistration bool true
ap2.li.forwardProtocolRegistration bool true
ap2.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

ap2.li.serviceMapping object {}

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

ap2.li.protocolMapping object {}

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

ap2.eth.bitrate double
ap3.status.displayStringTextFormat string ""

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

ap3.status.initialStatus string "UP"

TODO @signal, @statistic

ap3.interfaceTable.displayStringTextFormat string ""

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

ap3.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

ap3.macTable.agingTime double
ap3.macTable.forwardingTableFile string
ap3.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

ap3.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

ap3.bl.forwardServiceRegistration bool true
ap3.bl.forwardProtocolRegistration bool true
ap3.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

ap3.bl.serviceMapping object {}

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

ap3.bl.protocolMapping object {}

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

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

ap3.li.interfaceTableModule string

Module path to the ~InterfaceTable module

ap3.li.forwardServiceRegistration bool true
ap3.li.forwardProtocolRegistration bool true
ap3.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

ap3.li.serviceMapping object {}

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

ap3.li.protocolMapping object {}

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

ap3.eth.bitrate double
ap4.status.displayStringTextFormat string ""

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

ap4.status.initialStatus string "UP"

TODO @signal, @statistic

ap4.interfaceTable.displayStringTextFormat string ""

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

ap4.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

ap4.macTable.agingTime double
ap4.macTable.forwardingTableFile string
ap4.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

ap4.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

ap4.bl.forwardServiceRegistration bool true
ap4.bl.forwardProtocolRegistration bool true
ap4.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

ap4.bl.serviceMapping object {}

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

ap4.bl.protocolMapping object {}

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

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

ap4.li.interfaceTableModule string

Module path to the ~InterfaceTable module

ap4.li.forwardServiceRegistration bool true
ap4.li.forwardProtocolRegistration bool true
ap4.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

ap4.li.serviceMapping object {}

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

ap4.li.protocolMapping object {}

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

ap4.eth.bitrate double
ap5.status.displayStringTextFormat string ""

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

ap5.status.initialStatus string "UP"

TODO @signal, @statistic

ap5.interfaceTable.displayStringTextFormat string ""

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

ap5.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

ap5.macTable.agingTime double
ap5.macTable.forwardingTableFile string
ap5.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

ap5.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

ap5.bl.forwardServiceRegistration bool true
ap5.bl.forwardProtocolRegistration bool true
ap5.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

ap5.bl.serviceMapping object {}

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

ap5.bl.protocolMapping object {}

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

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

ap5.li.interfaceTableModule string

Module path to the ~InterfaceTable module

ap5.li.forwardServiceRegistration bool true
ap5.li.forwardProtocolRegistration bool true
ap5.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

ap5.li.serviceMapping object {}

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

ap5.li.protocolMapping object {}

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

ap5.eth.bitrate double
ap6.status.displayStringTextFormat string ""

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

ap6.status.initialStatus string "UP"

TODO @signal, @statistic

ap6.interfaceTable.displayStringTextFormat string ""

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

ap6.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

ap6.macTable.agingTime double
ap6.macTable.forwardingTableFile string
ap6.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

ap6.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

ap6.bl.forwardServiceRegistration bool true
ap6.bl.forwardProtocolRegistration bool true
ap6.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

ap6.bl.serviceMapping object {}

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

ap6.bl.protocolMapping object {}

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

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

ap6.li.interfaceTableModule string

Module path to the ~InterfaceTable module

ap6.li.forwardServiceRegistration bool true
ap6.li.forwardProtocolRegistration bool true
ap6.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

ap6.li.serviceMapping object {}

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

ap6.li.protocolMapping object {}

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

ap6.eth.bitrate double
router1.status.displayStringTextFormat string ""

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

router1.status.initialStatus string "UP"

TODO @signal, @statistic

router1.environment.displayStringTextFormat string ""

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

router1.environment.initStage int 0

Initialization stage for the setup command

router1.environment.globalNamespace bool false

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

router1.environment.namespace string ""

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

router1.environment.setupCommand string ""

A host OS system command

router1.environment.teardownCommand string ""

A host OS system command

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

router1.pcapRecorder.verbose bool true

Whether to log packets on the module output

router1.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

router1.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

router1.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

router1.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

router1.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

router1.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

router1.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

router1.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

router1.pcapRecorder.helpers string ""

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

router1.pcapRecorder.alwaysFlush bool false

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

router1.interfaceTable.displayStringTextFormat string ""

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

router1.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

router1.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

router1.cb.forwardServiceRegistration bool true
router1.cb.forwardProtocolRegistration bool true
router1.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

router1.cb.serviceMapping object {}

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

router1.cb.protocolMapping object {}

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

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

router1.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

router1.bl.forwardServiceRegistration bool true
router1.bl.forwardProtocolRegistration bool true
router1.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

router1.bl.serviceMapping object {}

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

router1.bl.protocolMapping object {}

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

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

router1.li.interfaceTableModule string

Module path to the ~InterfaceTable module

router1.li.forwardServiceRegistration bool true
router1.li.forwardProtocolRegistration bool true
router1.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

router1.li.serviceMapping object {}

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

router1.li.protocolMapping object {}

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

router1.eth.bitrate double
router1.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

router1.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

router1.nl.forwardServiceRegistration bool true
router1.nl.forwardProtocolRegistration bool true
router1.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

router1.nl.serviceMapping object {}

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

router1.nl.protocolMapping object {}

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

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

router1.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

router1.tn.forwardServiceRegistration bool true
router1.tn.forwardProtocolRegistration bool true
router1.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

router1.tn.serviceMapping object {}

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

router1.tn.protocolMapping object {}

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

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

router1.at.interfaceTableModule string

Module path to the ~InterfaceTable module

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

router1.at.serviceMapping object {}

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

router1.at.protocolMapping object {}

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

router1.bgp.interfaceTableModule string

The path to the InterfaceTable module

router1.bgp.routingTableModule string
router1.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
router1.gpsr.displayStringTextFormat string ""

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

router1.gpsr.interfaceTableModule string

context parameters

router1.gpsr.routingTableModule string "^.ipv4.routingTable"
router1.gpsr.networkProtocolModule string "^.ipv4.ip"
router1.gpsr.planarizationMode string "GG"

GPSR parameters

router1.gpsr.interfaces string "*"
router1.gpsr.beaconInterval double 10s
router1.gpsr.maxJitter double 0.5 * beaconInterval
router1.gpsr.neighborValidityInterval double 4.5 * beaconInterval
router1.gpsr.positionByteLength int 2 * 4B
router1.gpsr.displayBubbles bool false

visualization parameters

router2.status.displayStringTextFormat string ""

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

router2.status.initialStatus string "UP"

TODO @signal, @statistic

router2.environment.displayStringTextFormat string ""

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

router2.environment.initStage int 0

Initialization stage for the setup command

router2.environment.globalNamespace bool false

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

router2.environment.namespace string ""

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

router2.environment.setupCommand string ""

A host OS system command

router2.environment.teardownCommand string ""

A host OS system command

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

router2.pcapRecorder.verbose bool true

Whether to log packets on the module output

router2.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

router2.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

router2.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

router2.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

router2.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

router2.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

router2.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

router2.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

router2.pcapRecorder.helpers string ""

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

router2.pcapRecorder.alwaysFlush bool false

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

router2.interfaceTable.displayStringTextFormat string ""

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

router2.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

router2.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

router2.cb.forwardServiceRegistration bool true
router2.cb.forwardProtocolRegistration bool true
router2.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

router2.cb.serviceMapping object {}

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

router2.cb.protocolMapping object {}

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

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

router2.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

router2.bl.forwardServiceRegistration bool true
router2.bl.forwardProtocolRegistration bool true
router2.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

router2.bl.serviceMapping object {}

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

router2.bl.protocolMapping object {}

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

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

router2.li.interfaceTableModule string

Module path to the ~InterfaceTable module

router2.li.forwardServiceRegistration bool true
router2.li.forwardProtocolRegistration bool true
router2.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

router2.li.serviceMapping object {}

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

router2.li.protocolMapping object {}

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

router2.eth.bitrate double
router2.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

router2.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

router2.nl.forwardServiceRegistration bool true
router2.nl.forwardProtocolRegistration bool true
router2.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

router2.nl.serviceMapping object {}

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

router2.nl.protocolMapping object {}

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

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

router2.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

router2.tn.forwardServiceRegistration bool true
router2.tn.forwardProtocolRegistration bool true
router2.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

router2.tn.serviceMapping object {}

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

router2.tn.protocolMapping object {}

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

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

router2.at.interfaceTableModule string

Module path to the ~InterfaceTable module

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

router2.at.serviceMapping object {}

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

router2.at.protocolMapping object {}

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

router2.bgp.interfaceTableModule string

The path to the InterfaceTable module

router2.bgp.routingTableModule string
router2.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
router2.gpsr.displayStringTextFormat string ""

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

router2.gpsr.interfaceTableModule string

context parameters

router2.gpsr.routingTableModule string "^.ipv4.routingTable"
router2.gpsr.networkProtocolModule string "^.ipv4.ip"
router2.gpsr.planarizationMode string "GG"

GPSR parameters

router2.gpsr.interfaces string "*"
router2.gpsr.beaconInterval double 10s
router2.gpsr.maxJitter double 0.5 * beaconInterval
router2.gpsr.neighborValidityInterval double 4.5 * beaconInterval
router2.gpsr.positionByteLength int 2 * 4B
router2.gpsr.displayBubbles bool false

visualization parameters

router3.status.displayStringTextFormat string ""

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

router3.status.initialStatus string "UP"

TODO @signal, @statistic

router3.environment.displayStringTextFormat string ""

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

router3.environment.initStage int 0

Initialization stage for the setup command

router3.environment.globalNamespace bool false

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

router3.environment.namespace string ""

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

router3.environment.setupCommand string ""

A host OS system command

router3.environment.teardownCommand string ""

A host OS system command

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

router3.pcapRecorder.verbose bool true

Whether to log packets on the module output

router3.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

router3.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

router3.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

router3.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

router3.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

router3.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

router3.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

router3.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

router3.pcapRecorder.helpers string ""

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

router3.pcapRecorder.alwaysFlush bool false

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

router3.interfaceTable.displayStringTextFormat string ""

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

router3.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

router3.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

router3.cb.forwardServiceRegistration bool true
router3.cb.forwardProtocolRegistration bool true
router3.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

router3.cb.serviceMapping object {}

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

router3.cb.protocolMapping object {}

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

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

router3.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

router3.bl.forwardServiceRegistration bool true
router3.bl.forwardProtocolRegistration bool true
router3.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

router3.bl.serviceMapping object {}

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

router3.bl.protocolMapping object {}

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

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

router3.li.interfaceTableModule string

Module path to the ~InterfaceTable module

router3.li.forwardServiceRegistration bool true
router3.li.forwardProtocolRegistration bool true
router3.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

router3.li.serviceMapping object {}

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

router3.li.protocolMapping object {}

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

router3.eth.bitrate double
router3.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

router3.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

router3.nl.forwardServiceRegistration bool true
router3.nl.forwardProtocolRegistration bool true
router3.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

router3.nl.serviceMapping object {}

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

router3.nl.protocolMapping object {}

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

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

router3.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

router3.tn.forwardServiceRegistration bool true
router3.tn.forwardProtocolRegistration bool true
router3.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

router3.tn.serviceMapping object {}

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

router3.tn.protocolMapping object {}

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

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

router3.at.interfaceTableModule string

Module path to the ~InterfaceTable module

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

router3.at.serviceMapping object {}

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

router3.at.protocolMapping object {}

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

router3.bgp.interfaceTableModule string

The path to the InterfaceTable module

router3.bgp.routingTableModule string
router3.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
router3.gpsr.displayStringTextFormat string ""

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

router3.gpsr.interfaceTableModule string

context parameters

router3.gpsr.routingTableModule string "^.ipv4.routingTable"
router3.gpsr.networkProtocolModule string "^.ipv4.ip"
router3.gpsr.planarizationMode string "GG"

GPSR parameters

router3.gpsr.interfaces string "*"
router3.gpsr.beaconInterval double 10s
router3.gpsr.maxJitter double 0.5 * beaconInterval
router3.gpsr.neighborValidityInterval double 4.5 * beaconInterval
router3.gpsr.positionByteLength int 2 * 4B
router3.gpsr.displayBubbles bool false

visualization parameters

server.status.displayStringTextFormat string ""

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

server.status.initialStatus string "UP"

TODO @signal, @statistic

server.environment.displayStringTextFormat string ""

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

server.environment.initStage int 0

Initialization stage for the setup command

server.environment.globalNamespace bool false

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

server.environment.namespace string ""

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

server.environment.setupCommand string ""

A host OS system command

server.environment.teardownCommand string ""

A host OS system command

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

server.pcapRecorder.verbose bool true

Whether to log packets on the module output

server.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

server.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

server.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

server.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

server.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

server.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

server.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

server.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

server.pcapRecorder.helpers string ""

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

server.pcapRecorder.alwaysFlush bool false

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

server.interfaceTable.displayStringTextFormat string ""

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

server.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

server.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

server.cb.forwardServiceRegistration bool true
server.cb.forwardProtocolRegistration bool true
server.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

server.cb.serviceMapping object {}

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

server.cb.protocolMapping object {}

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

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

server.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

server.bl.forwardServiceRegistration bool true
server.bl.forwardProtocolRegistration bool true
server.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

server.bl.serviceMapping object {}

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

server.bl.protocolMapping object {}

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

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

server.li.interfaceTableModule string

Module path to the ~InterfaceTable module

server.li.forwardServiceRegistration bool true
server.li.forwardProtocolRegistration bool true
server.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

server.li.serviceMapping object {}

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

server.li.protocolMapping object {}

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

server.eth.bitrate double
server.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

server.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

server.nl.forwardServiceRegistration bool true
server.nl.forwardProtocolRegistration bool true
server.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

server.nl.serviceMapping object {}

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

server.nl.protocolMapping object {}

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

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

server.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

server.tn.forwardServiceRegistration bool true
server.tn.forwardProtocolRegistration bool true
server.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

server.tn.serviceMapping object {}

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

server.tn.protocolMapping object {}

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

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

server.at.interfaceTableModule string

Module path to the ~InterfaceTable module

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

server.at.serviceMapping object {}

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

server.at.protocolMapping object {}

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

server.gpsr.displayStringTextFormat string ""

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

server.gpsr.interfaceTableModule string

context parameters

server.gpsr.routingTableModule string "^.ipv4.routingTable"
server.gpsr.networkProtocolModule string "^.ipv4.ip"
server.gpsr.planarizationMode string "GG"

GPSR parameters

server.gpsr.interfaces string "*"
server.gpsr.beaconInterval double 10s
server.gpsr.maxJitter double 0.5 * beaconInterval
server.gpsr.neighborValidityInterval double 4.5 * beaconInterval
server.gpsr.positionByteLength int 2 * 4B
server.gpsr.displayBubbles bool false

visualization parameters

ship.status.displayStringTextFormat string ""

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

ship.status.initialStatus string "UP"

TODO @signal, @statistic

ship.environment.displayStringTextFormat string ""

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

ship.environment.initStage int 0

Initialization stage for the setup command

ship.environment.globalNamespace bool false

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

ship.environment.namespace string ""

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

ship.environment.setupCommand string ""

A host OS system command

ship.environment.teardownCommand string ""

A host OS system command

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

ship.pcapRecorder.verbose bool true

Whether to log packets on the module output

ship.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

ship.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

ship.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

ship.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

ship.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

ship.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

ship.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

ship.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

ship.pcapRecorder.helpers string ""

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

ship.pcapRecorder.alwaysFlush bool false

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

ship.interfaceTable.displayStringTextFormat string ""

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

ship.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

ship.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

ship.cb.forwardServiceRegistration bool true
ship.cb.forwardProtocolRegistration bool true
ship.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

ship.cb.serviceMapping object {}

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

ship.cb.protocolMapping object {}

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

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

ship.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

ship.bl.forwardServiceRegistration bool true
ship.bl.forwardProtocolRegistration bool true
ship.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

ship.bl.serviceMapping object {}

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

ship.bl.protocolMapping object {}

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

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

ship.li.interfaceTableModule string

Module path to the ~InterfaceTable module

ship.li.forwardServiceRegistration bool true
ship.li.forwardProtocolRegistration bool true
ship.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

ship.li.serviceMapping object {}

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

ship.li.protocolMapping object {}

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

ship.eth.bitrate double
ship.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

ship.nl.interfaceTableModule string

Module path to the ~InterfaceTable module

ship.nl.forwardServiceRegistration bool true
ship.nl.forwardProtocolRegistration bool true
ship.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

ship.nl.serviceMapping object {}

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

ship.nl.protocolMapping object {}

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

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

ship.tn.interfaceTableModule string

Module path to the ~InterfaceTable module

ship.tn.forwardServiceRegistration bool true
ship.tn.forwardProtocolRegistration bool true
ship.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

ship.tn.serviceMapping object {}

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

ship.tn.protocolMapping object {}

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

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

ship.at.interfaceTableModule string

Module path to the ~InterfaceTable module

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

ship.at.serviceMapping object {}

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

ship.at.protocolMapping object {}

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

ship.gpsr.displayStringTextFormat string ""

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

ship.gpsr.interfaceTableModule string

context parameters

ship.gpsr.routingTableModule string "^.ipv4.routingTable"
ship.gpsr.networkProtocolModule string "^.ipv4.ip"
ship.gpsr.planarizationMode string "GG"

GPSR parameters

ship.gpsr.interfaces string "*"
ship.gpsr.beaconInterval double 10s
ship.gpsr.maxJitter double 0.5 * beaconInterval
ship.gpsr.neighborValidityInterval double 4.5 * beaconInterval
ship.gpsr.positionByteLength int 2 * 4B
ship.gpsr.displayBubbles bool false

visualization parameters

Source code

network SeaportNetwork extends WirelessNetworkBase
{
    parameters:
        int numShips;
        @display("bgi=misc/seaport;bgb=1800,1000");
    submodules:
        ap1: AccessPoint {
            @display("i=device/antennatower;p=1243,92");
        }
        ap2: AccessPoint {
            @display("i=device/antennatower;p=1739,220");
        }
        ap3: AccessPoint {
            @display("i=device/antennatower;p=597,269");
        }
        ap4: AccessPoint {
            @display("i=device/antennatower;p=1138,484");
        }
        ap5: AccessPoint {
            @display("i=device/antennatower;p=1680,663");
        }
        ap6: AccessPoint {
            @display("i=device/antennatower;p=505,907");
        }
        router1: GpsrRouter {
            @display("p=1530,179");
        }
        router2: GpsrRouter {
            @display("p=988,742");
        }
        router3: GpsrRouter {
            @display("p=1510,742");
        }
        server: GpsrStandardHost {
            @display("p=1586,886");
        }
        ship[numShips]: GpsrWirelessHost {
            @display("i=misc/transparent");
        }
    connections:
        router1.ethg++ <--> Eth1G <--> ap1.ethg++;
        router1.ethg++ <--> Eth1G <--> ap2.ethg++;
        router2.ethg++ <--> Eth1G <--> ap3.ethg++;
        router2.ethg++ <--> Eth1G <--> ap4.ethg++;
        router2.ethg++ <--> Eth1G <--> ap6.ethg++;
        router3.ethg++ <--> Eth1G <--> ap5.ethg++;
        router3.ethg++ <--> Eth1G <--> server.ethg++;
        router3.ethg++ <--> Eth1G <--> router1.ethg++;
        router3.ethg++ <--> Eth1G <--> router2.ethg++;
}
File: examples/seaport/SeaportNetwork.ned