TsnLinearNetwork

Package: inet.networks.tsn

TsnLinearNetwork

network

(no description)

pcapRecorder[numPcapRecorders] : PcapRecorder

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

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

IIntegratedVisualizer: This module interface allows configuring different ~IIntegratedVisualizer submodules from INI files.

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

Ipv4NetworkConfigurator: This module assigns IPv4 addresses and sets up static routing for an IPv4 network.

IL3NetworkConfigurator: This module interface is implemented by all layer 3 network configurators.

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

INetworkConfigurator: This module interface is implemented by all network wide configurator modules.

Source:
macForwardingTableConfigurator: <default(hasGlobalArp ? "MacForwardingTableConfigurator" : "")> like INetworkConfigurator if typename != "" {
    @display("p=100,400;is=s");
} gateScheduleConfigurator : like IGateScheduleConfigurator

IGateScheduleConfigurator: This module interface is implemented by gate scheduling configurator modules.

Source:
gateScheduleConfigurator: <default("")> like IGateScheduleConfigurator if typename != "" {
    @display("p=100,500;is=s");
} streamRedundancyConfigurator : like INetworkConfigurator

INetworkConfigurator: This module interface is implemented by all network wide configurator modules.

Source:
streamRedundancyConfigurator: <default("")> like INetworkConfigurator if typename != "" {
    @display("p=100,600;is=s");
} failureProtectionConfigurator : like INetworkConfigurator

INetworkConfigurator: This module interface is implemented by all network wide configurator modules.

Source:
failureProtectionConfigurator: <default("")> like INetworkConfigurator if typename != "" {
    @display("p=100,700;is=s");
} client : like IEthernetNetworkNode

TsnDevice: This module represents a Time-Sensitive Networking (TSN) hardware end device that supports time...

IEthernetNetworkNode: This is the module interface for all Ethernet node types in a network.

Source:
client: <default("TsnDevice")> like IEthernetNetworkNode {
    @display("p=350,200");
} switch : like IEthernetNetworkNode

TsnSwitch: This module represents a Time-Sensitive Networking (TSN) switch that supports time synchronization,...

IEthernetNetworkNode: This is the module interface for all Ethernet node types in a network.

Source:
switch: <default("TsnSwitch")> like IEthernetNetworkNode {
    @display("p=550,200");
} server : like IEthernetNetworkNode

TsnDevice: This module represents a Time-Sensitive Networking (TSN) hardware end device that supports time...

IEthernetNetworkNode: This is the module interface for all Ethernet node types in a network.

Source:
server: <default("TsnDevice")> like IEthernetNetworkNode {
    @display("p=750,200");
}

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"
client.numEthInterfaces int
switch.numEthInterfaces int
server.numEthInterfaces int

Source code

network TsnLinearNetwork extends TsnNetworkBase
{
    parameters:
        *.eth[*].bitrate = default(100Mbps);
    submodules:
        client: <default("TsnDevice")> like IEthernetNetworkNode {
            @display("p=350,200");
        }
        switch: <default("TsnSwitch")> like IEthernetNetworkNode {
            @display("p=550,200");
        }
        server: <default("TsnDevice")> like IEthernetNetworkNode {
            @display("p=750,200");
        }
    connections:
        client.ethg++ <--> EthernetLink <--> switch.ethg++;
        switch.ethg++ <--> EthernetLink <--> server.ethg++;
}

File: src/inet/networks/tsn/TsnLinearNetwork.ned