Mrp4

Package: inet.examples.mrp

Mrp4

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");
}

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.

Known subclasses

Name Type Description
Mrp4withHosts network (no description)
Mrp8 network (no description)

Properties

Name Value Description
isNetwork
display bgb=640,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

Source code

network Mrp4
{
    @display("bgb=640,520");
    submodules:
        scenarioManager: ScenarioManager {
            @display("p=80,80;is=s");
        }
        visualizer: IntegratedCanvasVisualizer {
            @display("p=80,160;is=s");
        }
        node0: MrpSwitch {
            @display("p=350,150");
        }
        node1: MrpSwitch {
            @display("p=450,250");
        }
        node2: MrpSwitch {
            @display("p=350,350");
        }
        node3: MrpSwitch {
            @display("p=250,250");
        }
    connections:
        node0.ethg[0] <--> Eth100M <--> node1.ethg[1];
        node1.ethg[0] <--> Eth100M <--> node2.ethg[1];
        node2.ethg[0] <--> Eth100M <--> node3.ethg[1];
        node3.ethg[0] <--> Eth100M <--> node0.ethg[1];
}

File: examples/mrp/MrpNetworks.ned