OneMasterClockGptpShowcase

Package: inet.showcases.tsn.timesynchronization.gptp

OneMasterClockGptpShowcase

network

(no description)

PcapRecorder IIntegratedVisualizer IL3NetworkConfigurator INetworkConfigurator IGateScheduleConfigurator INetworkConfigurator INetworkConfigurator TsnClock TsnSwitch TsnDevice TsnDevice

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
TsnNetworkBase network

This module serves as a network base module for Time-Sensitive Networking (TSN).

Parameters

Name Type Default value Description
recordPcap bool false
numPcapRecorders int recordPcap ? 1 : 0
hasGlobalArp bool true

Properties

Name Value Description
isNetwork
class NetworkBase

Unassigned submodule parameters

Name Type Default value Description
pcapRecorder.verbose bool true

whether to log packets on the module output

pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

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

pcapRecorder.displayStringTextFormat string "rec: %n pks"
tsnClock.status.initialStatus string "UP"

TODO @signal, @statistic

tsnClock.pcapRecorder.verbose bool true

whether to log packets on the module output

tsnClock.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

tsnClock.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

tsnClock.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

tsnClock.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

tsnClock.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

tsnClock.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

tsnClock.pcapRecorder.helpers string ""

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

tsnClock.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

tsnClock.at.forwardServiceRegistration bool true
tsnClock.at.forwardProtocolRegistration bool true
tsnSwitch.macTable.agingTime double
tsnSwitch.macTable.forwardingTableFile string
tsnSwitch.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

tsnSwitch.l2NodeConfigurator.interfaceTableModule string
tsnSwitch.l2NodeConfigurator.l2ConfiguratorModule string "l2NetworkConfigurator"

the absolute path to the ~L2NetworkConfigurator; use "" if there is no configurator

tsnSwitch.status.initialStatus string "UP"

TODO @signal, @statistic

tsnSwitch.pcapRecorder.verbose bool true

whether to log packets on the module output

tsnSwitch.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

tsnSwitch.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

tsnSwitch.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

tsnSwitch.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

tsnSwitch.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

tsnSwitch.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

tsnSwitch.pcapRecorder.helpers string ""

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

tsnSwitch.pcapRecorder.alwaysFlush bool false

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

tsnSwitch.pcapRecorder.displayStringTextFormat string "rec: %n pks"
tsnSwitch.stp.helloTime double
tsnSwitch.stp.forwardDelay double
tsnSwitch.stp.maxAge double
tsnSwitch.stp.bridgePriority int
tsnSwitch.stp.visualize bool
tsnSwitch.sc.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

tsnSwitch.cutthrough.forwardServiceRegistration bool true
tsnSwitch.cutthrough.forwardProtocolRegistration bool true
tsnSwitch.eth.bitrate double
tsnDevice1.status.initialStatus string "UP"

TODO @signal, @statistic

tsnDevice1.pcapRecorder.verbose bool true

whether to log packets on the module output

tsnDevice1.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

tsnDevice1.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

tsnDevice1.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

tsnDevice1.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

tsnDevice1.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

tsnDevice1.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

tsnDevice1.pcapRecorder.helpers string ""

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

tsnDevice1.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

tsnDevice1.at.forwardServiceRegistration bool true
tsnDevice1.at.forwardProtocolRegistration bool true
tsnDevice2.status.initialStatus string "UP"

TODO @signal, @statistic

tsnDevice2.pcapRecorder.verbose bool true

whether to log packets on the module output

tsnDevice2.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

tsnDevice2.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

tsnDevice2.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

tsnDevice2.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

tsnDevice2.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

tsnDevice2.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

tsnDevice2.pcapRecorder.helpers string ""

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

tsnDevice2.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

tsnDevice2.at.forwardServiceRegistration bool true
tsnDevice2.at.forwardProtocolRegistration bool true

Source code

network OneMasterClockGptpShowcase extends TsnNetworkBase
{
    submodules:
        tsnClock: TsnClock {
            @display("p=500,150");
        }
        tsnSwitch: TsnSwitch {
            @display("p=500,300");
        }
        tsnDevice1: TsnDevice {
            @display("p=400,450");
        }
        tsnDevice2: TsnDevice {
            @display("p=600,450");
        }
    connections:
        tsnClock.ethg++ <--> EthernetLink <--> tsnSwitch.ethg++;
        tsnSwitch.ethg++ <--> EthernetLink <--> tsnDevice1.ethg++;
        tsnSwitch.ethg++ <--> EthernetLink <--> tsnDevice2.ethg++;
}

File: showcases/tsn/timesynchronization/gptp/GptpShowcase.ned