Mrp4withHosts

Package: inet.examples.mrp

Mrp4withHosts

network

(no description)

scenarioManager : ScenarioManager

~ScenarioManager is for setting up and controlling simulation experiments.

Source:
scenarioManager: ScenarioManager {
    @display("p=80,80;is=s");
} visualizer : IntegratedCanvasVisualizer

Integrates all canvas visualizers into a single module.

Source:
visualizer: IntegratedCanvasVisualizer {
    @display("p=80,160;is=s");
} node0 : MrpSwitch

An Ethernet switch with Media Redundancy Protocol (MRP) support.

Source:
node0: MrpSwitch {
    @display("p=350,150");
} node1 : MrpSwitch

An Ethernet switch with Media Redundancy Protocol (MRP) support.

Source:
node1: MrpSwitch {
    @display("p=450,250");
} node2 : MrpSwitch

An Ethernet switch with Media Redundancy Protocol (MRP) support.

Source:
node2: MrpSwitch {
    @display("p=350,350");
} node3 : MrpSwitch

An Ethernet switch with Media Redundancy Protocol (MRP) support.

Source:
node3: MrpSwitch {
    @display("p=250,250");
} host1 : EthernetHost

A simplified network device that communicates directly over Ethernet without higher layer protocols...

Source:
host1: EthernetHost {
    parameters:
        csmacdSupport = false;
        eth.duplexMode = true;
        @display("p=350,50");
} host2 : EthernetHost

A simplified network device that communicates directly over Ethernet without higher layer protocols...

Source:
host2: EthernetHost {
    parameters:
        csmacdSupport = false;
        eth.duplexMode = true;
        @display("p=550,250");
} host3 : EthernetHost

A simplified network device that communicates directly over Ethernet without higher layer protocols...

Source:
host3: EthernetHost {
    parameters:
        csmacdSupport = false;
        eth.duplexMode = true;
        @display("p=350,450");
} host4 : EthernetHost

A simplified network device that communicates directly over Ethernet without higher layer protocols...

Source:
host4: EthernetHost {
    parameters:
        csmacdSupport = false;
        eth.duplexMode = true;
        @display("p=150,250");
}

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
Mrp4 network (no description)

Properties

Name Value Description
isNetwork
display bgb=720,520

Unassigned submodule parameters

Name Type Default value Description
scenarioManager.displayStringTextFormat string "total %c changes, %l left\nnext at: %t"

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

scenarioManager.script xml xml("")
visualizer.sceneVisualizer.visualizationTargetModule string
visualizer.sceneVisualizer.visualizationSubjectModule string
visualizer.physicalEnvironmentVisualizer.visualizationTargetModule string
visualizer.physicalEnvironmentVisualizer.visualizationSubjectModule string
visualizer.networkNodeVisualizer.visualizationTargetModule string
visualizer.networkNodeVisualizer.visualizationSubjectModule string
visualizer.networkConnectionVisualizer.visualizationTargetModule string
visualizer.networkConnectionVisualizer.visualizationSubjectModule string
visualizer.mobilityVisualizer.visualizationTargetModule string
visualizer.mobilityVisualizer.visualizationSubjectModule string
visualizer.statisticVisualizer.visualizationTargetModule string
visualizer.statisticVisualizer.visualizationSubjectModule string
visualizer.infoVisualizer.visualizationTargetModule string
visualizer.infoVisualizer.visualizationSubjectModule string
visualizer.energyStorageVisualizer.visualizationTargetModule string
visualizer.energyStorageVisualizer.visualizationSubjectModule string
visualizer.mediumVisualizer.visualizationTargetModule string
visualizer.mediumVisualizer.visualizationSubjectModule string
visualizer.obstacleLossVisualizer.visualizationTargetModule string
visualizer.obstacleLossVisualizer.visualizationSubjectModule string
visualizer.packetDropVisualizer.visualizationTargetModule string
visualizer.packetDropVisualizer.visualizationSubjectModule string
visualizer.packetFlowVisualizer.visualizationTargetModule string
visualizer.packetFlowVisualizer.visualizationSubjectModule string
visualizer.queueVisualizer.visualizationTargetModule string
visualizer.queueVisualizer.visualizationSubjectModule string
visualizer.gateScheduleVisualizer.visualizationTargetModule string
visualizer.gateScheduleVisualizer.visualizationSubjectModule string
visualizer.radioVisualizer.visualizationTargetModule string
visualizer.radioVisualizer.visualizationSubjectModule string
visualizer.physicalLinkVisualizer.visualizationTargetModule string
visualizer.physicalLinkVisualizer.visualizationSubjectModule string
visualizer.interfaceTableVisualizer.visualizationTargetModule string
visualizer.interfaceTableVisualizer.visualizationSubjectModule string
visualizer.dataLinkVisualizer.visualizationTargetModule string
visualizer.dataLinkVisualizer.visualizationSubjectModule string
visualizer.linkBreakVisualizer.visualizationTargetModule string
visualizer.linkBreakVisualizer.visualizationSubjectModule string
visualizer.ieee80211Visualizer.visualizationTargetModule string
visualizer.ieee80211Visualizer.visualizationSubjectModule string
visualizer.networkRouteVisualizer.visualizationTargetModule string
visualizer.networkRouteVisualizer.visualizationSubjectModule string
visualizer.routingTableVisualizer.visualizationTargetModule string
visualizer.routingTableVisualizer.visualizationSubjectModule string
visualizer.transportRouteVisualizer.visualizationTargetModule string
visualizer.transportRouteVisualizer.visualizationSubjectModule string
visualizer.transportConnectionVisualizer.visualizationTargetModule string
visualizer.transportConnectionVisualizer.visualizationSubjectModule string
visualizer.failureProtectionConfigurationVisualizer.visualizationTargetModule string
visualizer.failureProtectionConfigurationVisualizer.visualizationSubjectModule string
visualizer.streamRedundancyConfigurationVisualizer.visualizationTargetModule string
visualizer.streamRedundancyConfigurationVisualizer.visualizationSubjectModule string
node0.macTable.agingTime double
node0.macTable.forwardingTableFile string
node0.interfaceTable.displayStringTextFormat string ""

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

node0.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

node0.status.displayStringTextFormat string ""

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

node0.status.initialStatus string "UP"

TODO @signal, @statistic

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

node0.pcapRecorder.verbose bool true

Whether to log packets on the module output

node0.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

node0.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

node0.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

node0.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

node0.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

node0.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

node0.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

node0.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

node0.pcapRecorder.helpers string ""

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

node0.pcapRecorder.alwaysFlush bool false

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

node0.mrp.ccmInterval double
node0.mrp.mrpRole string
node0.mrp.timingProfile int
node0.mrp.uuid0 int
node0.mrp.uuid1 int
node0.mrp.ringPort1 int
node0.mrp.ringPort2 int
node0.mrp.interconnectionLinkCheckAware bool
node0.mrp.interconnectionRingCheckAware bool
node0.mrp.nonblockingMrcSupported bool
node0.mrp.reactOnLinkChange bool
node0.mrp.visualize bool
node0.stp.helloTime double
node0.stp.forwardDelay double
node0.stp.maxAge double
node0.stp.bridgePriority int
node0.stp.visualize bool
node0.gptp.gptpNodeType string "BRIDGE_NODE"
node0.sc.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

node0.sc.interfaceTableModule string

Module path to the ~InterfaceTable module

node0.sc.forwardServiceRegistration bool true
node0.sc.forwardProtocolRegistration bool true
node0.sc.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

node0.sc.serviceMapping object {}

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

node0.sc.protocolMapping object {}

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

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

node0.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node0.cb.serviceMapping object {}

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

node0.cb.protocolMapping object {}

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

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

node0.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node0.bl.serviceMapping object {}

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

node0.bl.protocolMapping object {}

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

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

node0.li.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node0.li.serviceMapping object {}

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

node0.li.protocolMapping object {}

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

node0.eth.bitrate double
node1.macTable.agingTime double
node1.macTable.forwardingTableFile string
node1.interfaceTable.displayStringTextFormat string ""

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

node1.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

node1.status.displayStringTextFormat string ""

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

node1.status.initialStatus string "UP"

TODO @signal, @statistic

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

node1.pcapRecorder.verbose bool true

Whether to log packets on the module output

node1.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

node1.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

node1.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

node1.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

node1.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

node1.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

node1.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

node1.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

node1.pcapRecorder.helpers string ""

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

node1.pcapRecorder.alwaysFlush bool false

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

node1.mrp.ccmInterval double
node1.mrp.mrpRole string
node1.mrp.timingProfile int
node1.mrp.uuid0 int
node1.mrp.uuid1 int
node1.mrp.ringPort1 int
node1.mrp.ringPort2 int
node1.mrp.interconnectionLinkCheckAware bool
node1.mrp.interconnectionRingCheckAware bool
node1.mrp.nonblockingMrcSupported bool
node1.mrp.reactOnLinkChange bool
node1.mrp.visualize bool
node1.stp.helloTime double
node1.stp.forwardDelay double
node1.stp.maxAge double
node1.stp.bridgePriority int
node1.stp.visualize bool
node1.gptp.gptpNodeType string "BRIDGE_NODE"
node1.sc.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

node1.sc.interfaceTableModule string

Module path to the ~InterfaceTable module

node1.sc.forwardServiceRegistration bool true
node1.sc.forwardProtocolRegistration bool true
node1.sc.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

node1.sc.serviceMapping object {}

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

node1.sc.protocolMapping object {}

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

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

node1.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node1.cb.serviceMapping object {}

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

node1.cb.protocolMapping object {}

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

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

node1.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node1.bl.serviceMapping object {}

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

node1.bl.protocolMapping object {}

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

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

node1.li.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node1.li.serviceMapping object {}

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

node1.li.protocolMapping object {}

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

node1.eth.bitrate double
node2.macTable.agingTime double
node2.macTable.forwardingTableFile string
node2.interfaceTable.displayStringTextFormat string ""

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

node2.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

node2.status.displayStringTextFormat string ""

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

node2.status.initialStatus string "UP"

TODO @signal, @statistic

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

node2.pcapRecorder.verbose bool true

Whether to log packets on the module output

node2.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

node2.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

node2.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

node2.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

node2.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

node2.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

node2.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

node2.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

node2.pcapRecorder.helpers string ""

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

node2.pcapRecorder.alwaysFlush bool false

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

node2.mrp.ccmInterval double
node2.mrp.mrpRole string
node2.mrp.timingProfile int
node2.mrp.uuid0 int
node2.mrp.uuid1 int
node2.mrp.ringPort1 int
node2.mrp.ringPort2 int
node2.mrp.interconnectionLinkCheckAware bool
node2.mrp.interconnectionRingCheckAware bool
node2.mrp.nonblockingMrcSupported bool
node2.mrp.reactOnLinkChange bool
node2.mrp.visualize bool
node2.stp.helloTime double
node2.stp.forwardDelay double
node2.stp.maxAge double
node2.stp.bridgePriority int
node2.stp.visualize bool
node2.gptp.gptpNodeType string "BRIDGE_NODE"
node2.sc.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

node2.sc.interfaceTableModule string

Module path to the ~InterfaceTable module

node2.sc.forwardServiceRegistration bool true
node2.sc.forwardProtocolRegistration bool true
node2.sc.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

node2.sc.serviceMapping object {}

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

node2.sc.protocolMapping object {}

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

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

node2.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node2.cb.serviceMapping object {}

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

node2.cb.protocolMapping object {}

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

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

node2.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node2.bl.serviceMapping object {}

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

node2.bl.protocolMapping object {}

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

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

node2.li.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node2.li.serviceMapping object {}

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

node2.li.protocolMapping object {}

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

node2.eth.bitrate double
node3.macTable.agingTime double
node3.macTable.forwardingTableFile string
node3.interfaceTable.displayStringTextFormat string ""

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

node3.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

node3.status.displayStringTextFormat string ""

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

node3.status.initialStatus string "UP"

TODO @signal, @statistic

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

node3.pcapRecorder.verbose bool true

Whether to log packets on the module output

node3.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

node3.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

node3.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

node3.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

node3.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

node3.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

node3.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

node3.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

node3.pcapRecorder.helpers string ""

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

node3.pcapRecorder.alwaysFlush bool false

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

node3.mrp.ccmInterval double
node3.mrp.mrpRole string
node3.mrp.timingProfile int
node3.mrp.uuid0 int
node3.mrp.uuid1 int
node3.mrp.ringPort1 int
node3.mrp.ringPort2 int
node3.mrp.interconnectionLinkCheckAware bool
node3.mrp.interconnectionRingCheckAware bool
node3.mrp.nonblockingMrcSupported bool
node3.mrp.reactOnLinkChange bool
node3.mrp.visualize bool
node3.stp.helloTime double
node3.stp.forwardDelay double
node3.stp.maxAge double
node3.stp.bridgePriority int
node3.stp.visualize bool
node3.gptp.gptpNodeType string "BRIDGE_NODE"
node3.sc.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

node3.sc.interfaceTableModule string

Module path to the ~InterfaceTable module

node3.sc.forwardServiceRegistration bool true
node3.sc.forwardProtocolRegistration bool true
node3.sc.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

node3.sc.serviceMapping object {}

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

node3.sc.protocolMapping object {}

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

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

node3.cb.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node3.cb.serviceMapping object {}

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

node3.cb.protocolMapping object {}

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

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

node3.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node3.bl.serviceMapping object {}

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

node3.bl.protocolMapping object {}

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

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

node3.li.interfaceTableModule string

Module path to the ~InterfaceTable module

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

node3.li.serviceMapping object {}

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

node3.li.protocolMapping object {}

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

node3.eth.bitrate double
host1.status.displayStringTextFormat string ""

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

host1.status.initialStatus string "UP"

TODO @signal, @statistic

host1.interfaceTable.displayStringTextFormat string ""

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

host1.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

host1.cli.displayStringTextFormat string ""

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

host1.cli.interfaceTableModule string
host1.cli.destAddress string ""

Destination MAC address, or module path name of destination station; empty means off

host1.cli.startTime double this.sendInterval

Time of sending the first request

host1.cli.stopTime double -1s

Time of finishing sending, negative values mean forever

host1.cli.localSAP int 0xf0

Local service access point

host1.cli.remoteSAP int 0xf1

Remote service access point

host1.cli.sendInterval double uniform(0s,1s)

Interval between sending requests

host1.cli.reqLength int 100B

Length of request packets

host1.cli.respLength int 1KiB

Length of response packets

host1.cli.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

host1.cli.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

host1.srv.displayStringTextFormat string ""

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

host1.srv.localSAP int 0xf1
host1.srv.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation is finished

host1.srv.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

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

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

host1.dp.interfaceTableModule string

Module path to the ~InterfaceTable module

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

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

host1.dp.serviceMapping object {}

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

host1.dp.protocolMapping object {}

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

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

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

host1.li.interfaceTableModule string

Module path to the ~InterfaceTable module

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

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

host1.li.serviceMapping object {}

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

host1.li.protocolMapping object {}

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

host1.eth.bitrate double
host2.status.displayStringTextFormat string ""

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

host2.status.initialStatus string "UP"

TODO @signal, @statistic

host2.interfaceTable.displayStringTextFormat string ""

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

host2.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

host2.cli.displayStringTextFormat string ""

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

host2.cli.interfaceTableModule string
host2.cli.destAddress string ""

Destination MAC address, or module path name of destination station; empty means off

host2.cli.startTime double this.sendInterval

Time of sending the first request

host2.cli.stopTime double -1s

Time of finishing sending, negative values mean forever

host2.cli.localSAP int 0xf0

Local service access point

host2.cli.remoteSAP int 0xf1

Remote service access point

host2.cli.sendInterval double uniform(0s,1s)

Interval between sending requests

host2.cli.reqLength int 100B

Length of request packets

host2.cli.respLength int 1KiB

Length of response packets

host2.cli.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

host2.cli.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

host2.srv.displayStringTextFormat string ""

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

host2.srv.localSAP int 0xf1
host2.srv.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation is finished

host2.srv.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

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

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

host2.dp.interfaceTableModule string

Module path to the ~InterfaceTable module

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

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

host2.dp.serviceMapping object {}

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

host2.dp.protocolMapping object {}

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

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

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

host2.li.interfaceTableModule string

Module path to the ~InterfaceTable module

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

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

host2.li.serviceMapping object {}

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

host2.li.protocolMapping object {}

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

host2.eth.bitrate double
host3.status.displayStringTextFormat string ""

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

host3.status.initialStatus string "UP"

TODO @signal, @statistic

host3.interfaceTable.displayStringTextFormat string ""

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

host3.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

host3.cli.displayStringTextFormat string ""

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

host3.cli.interfaceTableModule string
host3.cli.destAddress string ""

Destination MAC address, or module path name of destination station; empty means off

host3.cli.startTime double this.sendInterval

Time of sending the first request

host3.cli.stopTime double -1s

Time of finishing sending, negative values mean forever

host3.cli.localSAP int 0xf0

Local service access point

host3.cli.remoteSAP int 0xf1

Remote service access point

host3.cli.sendInterval double uniform(0s,1s)

Interval between sending requests

host3.cli.reqLength int 100B

Length of request packets

host3.cli.respLength int 1KiB

Length of response packets

host3.cli.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

host3.cli.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

host3.srv.displayStringTextFormat string ""

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

host3.srv.localSAP int 0xf1
host3.srv.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation is finished

host3.srv.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

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

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

host3.dp.interfaceTableModule string

Module path to the ~InterfaceTable module

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

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

host3.dp.serviceMapping object {}

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

host3.dp.protocolMapping object {}

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

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

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

host3.li.interfaceTableModule string

Module path to the ~InterfaceTable module

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

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

host3.li.serviceMapping object {}

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

host3.li.protocolMapping object {}

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

host3.eth.bitrate double
host4.status.displayStringTextFormat string ""

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

host4.status.initialStatus string "UP"

TODO @signal, @statistic

host4.interfaceTable.displayStringTextFormat string ""

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

host4.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

host4.cli.displayStringTextFormat string ""

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

host4.cli.interfaceTableModule string
host4.cli.destAddress string ""

Destination MAC address, or module path name of destination station; empty means off

host4.cli.startTime double this.sendInterval

Time of sending the first request

host4.cli.stopTime double -1s

Time of finishing sending, negative values mean forever

host4.cli.localSAP int 0xf0

Local service access point

host4.cli.remoteSAP int 0xf1

Remote service access point

host4.cli.sendInterval double uniform(0s,1s)

Interval between sending requests

host4.cli.reqLength int 100B

Length of request packets

host4.cli.respLength int 1KiB

Length of response packets

host4.cli.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

host4.cli.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

host4.srv.displayStringTextFormat string ""

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

host4.srv.localSAP int 0xf1
host4.srv.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation is finished

host4.srv.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

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

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

host4.dp.interfaceTableModule string

Module path to the ~InterfaceTable module

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

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

host4.dp.serviceMapping object {}

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

host4.dp.protocolMapping object {}

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

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

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

host4.li.interfaceTableModule string

Module path to the ~InterfaceTable module

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

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

host4.li.serviceMapping object {}

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

host4.li.protocolMapping object {}

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

host4.eth.bitrate double

Source code

network Mrp4withHosts extends Mrp4
{
    @display("bgb=720,520");
    submodules:
        host1: EthernetHost {
            parameters:
                csmacdSupport = false;
                eth.duplexMode = true;
                @display("p=350,50");
        }
        host2: EthernetHost {
            parameters:
                csmacdSupport = false;
                eth.duplexMode = true;
                @display("p=550,250");
        }

        host3: EthernetHost {
            parameters:
                csmacdSupport = false;
                eth.duplexMode = true;
                @display("p=350,450");
        }
        host4: EthernetHost {
            parameters:
                csmacdSupport = false;
                eth.duplexMode = true;
                @display("p=150,250");
        }
    connections:
        node0.ethg[2] <--> Eth100M <--> host1.ethg;
        node1.ethg[2] <--> Eth100M <--> host2.ethg;
        node2.ethg[2] <--> Eth100M <--> host3.ethg;
        node3.ethg[2] <--> Eth100M <--> host4.ethg;
}

File: examples/mrp/MrpNetworks.ned