MecHost

Package: simu5g.nodes

compound module MecHost

Represents a model of a Multi-access Edge Computing (MEC) host belonging to a MEC system, as specified by the ETSI GS MEC 003 specifications. It runs MEC applications within its VirtualisationInfrastructure and can provide a number of MEC services via the MEC platform. MEC applications can be created either dynamically by the MEC orchestrator or statically at the initialization of the simulation. The MEC host possesses a configurable number of computing resources (such as CPU speed, RAM, and storage) and keeps track of the utilization of these resources by the MEC applications via the VirtualisationInfrastructureManager. Moreover, this module includes a User Plane Function (UPF) that allows it to be connected with the 5G core network.

MecHostppp++ <--> upf_mec.pppg++ for i=0..sizeof(ppp)-1⦀virtualisationInfrastructure.ppp++ <--> pppIf++ for i=0..sizeof(pppIf)-1⦀virtualisationInfrastructure.ppp++ <--> Eth10G <--> upf_mec.dnPppgindependentMecApp[i].socketIn --> virtualisationInfrastructure.independentMecAppOut[i] for i=0..numIndependentMecApp-1⦀independentMecApp[i].socketOut --> virtualisationInfrastructure.independentMecAppIn[i] for i=0..numIndependentMecApp-1⦀virtualisationInfrastructure.mecPlatform++ <--> mecPlatform.virtInfr++ for i=0..mecPlatform.numMecServices⦀virtualisationInfrastructure: simu5g.mec.vi.VirtualisationInfrastructure Represents the Virtualisation Infrastructure in a MEC host. Source: virtualisationInfrastructure: VirtualisationInfrastructure { parameters: @display("p=500,400"); gateway = parent.gateway; }virtualisationInfrastructuremecPlatform: simu5g.mec.platform.MecPlatform Represents the MEC Platform entity within a ~MecHost, as specified in the ETSI MEC architecture (... Source: mecPlatform: MecPlatform { parameters: @display("p=573,158"); }mecPlatformmecPlatformManager: simu5g.mec.mepm.MecPlatformManager Implements the MEC platform manager (MECPM) entity within the ~MecHost. Source: mecPlatformManager: MecPlatformManager { parameters: @display("p=865,116;is=m"); }mecPlatformManagervim: simu5g.mec.vim.VirtualisationInfrastructureManager Manages the computing resources currently allocated to MEC applications hosted by a MEC host. Source: vim: VirtualisationInfrastructureManager { parameters: @display("p=865,224;is=m"); }vimupf_mec: simu5g.nodes.Upf Implements the 5G Core User Plane Function (UPF). Source: upf_mec: Upf { parameters: @display("p=150,400"); nodeType = "UPF_MEC"; gateway = parent.gateway; }upf_mecbgApp[numBgMecApps]: simu5g.mec.vim.BackgroundApp Can be used to simulate a background application running on the MEC host without simulating all m... Source: bgApp[numBgMecApps]: BackgroundApp { @display("p=865,326,row,140"); }bgApp[numBgMecApps]independentMecApp[numIndependentMecApp]: inet.applications.contract.IApp (like IApp) IApp: Generic application interface. Source: independentMecApp[numIndependentMecApp]: <> like IApp { @display("p=371,156,row,140"); }independentMecApp[numIndependentMecApp]

Usage diagram

Used in

Name

Type

Description

ExtMecAppExample

network

One gNodeB and one MecHost hung off the same intermediate Upf, behind an anchor Upf that carries the Ualcmp and, behind it, the MecOrchestrator, plus one NrUe. Nothing here is external: which node talks to a real host, and over which interface, is configured in the ini file.

ExtUeAppExample

network

One gNodeB and one MecHost hung off the same intermediate Upf, behind an anchor Upf that carries the Ualcmp and, behind it, the MecOrchestrator, plus one NrUe. Nothing here is external: which node talks to a real host, and over which interface, is configured in the ini file.

ExtUeAppMecAppExample

network

One gNodeB and one MecHost hung off the same intermediate Upf, behind an anchor Upf that carries the Ualcmp and, behind it, the MecOrchestrator, plus one NrUe. Nothing here is external: which node talks to a real host, and over which interface, is configured in the ini file.

MultiMecHost

network

Two gNodeB cells, each on an intermediate Upf of its own with a MecHost hung off it, so every cell has its own MEC host. Both intermediate Upf nodes meet at the anchor Upf, which carries the Ualcmp and, behind it, the MecOrchestrator. An X2 link joins the two gNodeBs. numUe NrUe terminals attach, and numBgCells BackgroundCell cells can be added as interferers.

MultiOperator

network

Two operator networks side by side. Each has three gNodeB cells chained by X2, an intermediate Upf that feeds them and carries the operator’s MecHost, an anchor Upf, and a Ualcmp with its MecOrchestrator. The two anchor Upf nodes meet at a shared router, the only node the operators have in common. numUe_A and numUe_B NrUe terminals attach to operator A and B respectively, and numBgCells BackgroundCell cells can be added as interferers.

MultiMecHost_delay

network

MultiMecHost with the two intermediate Upf nodes linked directly to each other, and with no X2 link between the gNodeBs. The length of that link – and so its propagation delay – follows the routersDelay parameter, which makes the distance between the two MEC hosts configurable.

RnisTest

network

The topology of SingleMecHost – one gNodeB and one MecHost on a shared intermediate Upf, with a Ualcmp and a MecOrchestrator behind the anchor Upf – without its playground size parameters. numUes NrUe terminals attach to the gNodeB.

SingleMecHost

network

One gNodeB and one MecHost hung off the same intermediate Upf, behind an anchor Upf that carries the Ualcmp and, behind it, the MecOrchestrator. numUes NrUe terminals attach to the gNodeB.

UrbanNetwork

network

(no description)

Parameters

Name

Type

Default value

Description

nodeType

string

“MecHost”

DO NOT CHANGE

gateway

string

“upf”

maxMecApps

int

0

maxRam

double

32GB

maxDisk

double

100TB

maxCpuSpeed

double

300000

CPU’s clock speed in millions of instructions per second (MIPS)

numBgMecApps

int

0

numIndependentMecApp

int

0

bsList

object

[]

This is a string of comma-separated values

Properties

Name

Value

Description

display

i=device/server2;bgb=1000,500

Gates

Name

Direction

Size

Description

ppp [ ]

inout

To local radio networks

pppIf [ ]

inout

To external networks (internet)

Unassigned submodule parameters

Name

Type

Default value

Description

virtualisationInfrastructure.interfaceTable ↗.displayStringTextFormat

string

“{numInterfaces} interfaces”

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

virtualisationInfrastructure.interfaceTable ↗.displayAddresses

bool

false

Whether to display IP addresses on links

virtualisationInfrastructure.pppIf ↗.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

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.pcapFile

string

“”

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

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

virtualisationInfrastructure.pppIf ↗.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).

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

virtualisationInfrastructure.pppIf ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

virtualisationInfrastructure.pppIf ↗.queue ↗.displayStringTextFormat

string

“contains %p pk (%l) pushed %u\npulled %o removed %r dropped %d”

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

virtualisationInfrastructure.pppIf ↗.queue ↗.packetCapacity

int

10000

Maximum number of packets in the queue, no limit by default

virtualisationInfrastructure.pppIf ↗.queue ↗.dataCapacity

int

-1b

Maximum total length of packets in the queue, no limit by default

virtualisationInfrastructure.pppIf ↗.queue ↗.dropperClass

string

“inet::queueing::PacketAtCollectionEndDropper”

Determines which packets are dropped when the queue is overloaded, packets are not dropped by default; the parameter must be the name of a C++ class which implements the IPacketDropperFunction C++ interface and is registered via Register_Class

virtualisationInfrastructure.pppIf ↗.queue ↗.comparatorClass

string

“”

Determines the order of packets in the queue, insertion order by default; the parameter must be the name of a C++ class which implements the IPacketComparatorFunction C++ interface and is registered via Register_Class

virtualisationInfrastructure.pppIf ↗.queue ↗.bufferModule

string

“”

Relative module path to the IPacketBuffer module used by this queue, implicit buffer by default

virtualisationInfrastructure.pppIf ↗.ppp ↗.displayStringTextFormat

string

“rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d”

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

virtualisationInfrastructure.pppIf ↗.ppp ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.pppIf ↗.ppp ↗.sendRawBytes

bool

false

When true packets are serialized into a sequence of bytes before sending out

virtualisationInfrastructure.pppIf ↗.ppp ↗.mtu

int

4470B

virtualisationInfrastructure.pppIf ↗.ppp ↗.stopOperationExtraTime

double

-1s

Extra time after lifecycle stop operation finished

virtualisationInfrastructure.pppIf ↗.ppp ↗.stopOperationTimeout

double

2s

Timeout value for lifecycle stop operation

virtualisationInfrastructure.extEth ↗.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

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.pcapFile

string

“”

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

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

virtualisationInfrastructure.extEth ↗.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).

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

virtualisationInfrastructure.extEth ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

virtualisationInfrastructure.extEth ↗.socket ↗.displayStringTextFormat

string

“device: {device}\nsnt:{numSent} rcv:{numReceived}”

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

virtualisationInfrastructure.extEth ↗.socket ↗.device

string

Name of an existing real Ethernet device

virtualisationInfrastructure.extEth ↗.socket ↗.namespace

string

“”

virtualisationInfrastructure.extEth ↗.socket ↗.packetNameFormat

string

“Ext-%p-%t-%n”

Name of received packets

virtualisationInfrastructure.encap ↗.displayStringTextFormat

string

“passed up: {totalFromMAC}\nsent: {totalFromHigherLayer}”

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

virtualisationInfrastructure.encap ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.encap ↗.fcsMode

string

“declared”

virtualisationInfrastructure.encap ↗.stopOperationExtraTime

double

-1s

Extra time after the lifecycle stop operation has finished

virtualisationInfrastructure.encap ↗.stopOperationTimeout

double

2s

Timeout value for the lifecycle stop operation

virtualisationInfrastructure.lo ↗.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

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.pcapFile

string

“”

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

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

virtualisationInfrastructure.lo ↗.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).

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

virtualisationInfrastructure.lo ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

virtualisationInfrastructure.lo ↗.lo ↗.displayStringTextFormat

string

“rcv:{numRcvdOK} snt:{numSent}”

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

virtualisationInfrastructure.lo ↗.lo ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.lo ↗.lo ↗.mtu

int

4470B

virtualisationInfrastructure.ipv4 ↗.configurator ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv4 ↗.configurator ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv4 ↗.configurator ↗.routingTableModule

string

virtualisationInfrastructure.ipv4 ↗.configurator ↗.networkConfiguratorModule

string

“configurator”

The absolute path to the Ipv4NetworkConfigurator; use “” if there is no configurator

virtualisationInfrastructure.ipv4 ↗.configurator ↗.configureRoutingTable

bool

true

Add routing entries to the routing table (uses the configurator module)

virtualisationInfrastructure.ipv4 ↗.routingTable ↗.displayStringTextFormat

string

“{routingTableStatusText}”

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

virtualisationInfrastructure.ipv4 ↗.routingTable ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv4 ↗.routingTable ↗.routerId

string

“auto”

For routers, the router id using IPv4 address dotted

virtualisationInfrastructure.ipv4 ↗.routingTable ↗.netmaskRoutes

string

“*”

Maintain netmask routes for interfaces

virtualisationInfrastructure.ipv4 ↗.routingTable ↗.forwarding

bool

true

Turns IP forwarding on/off

virtualisationInfrastructure.ipv4 ↗.routingTable ↗.multicastForwarding

bool

false

Turns multicast forwarding on/off

virtualisationInfrastructure.ipv4 ↗.routingTable ↗.useAdminDist

bool

false

Use Cisco-like administrative distances

virtualisationInfrastructure.ipv4 ↗.routingTable ↗.routingFile

string

“”

Routing table file name

virtualisationInfrastructure.ipv4 ↗.natTable ↗.displayStringTextFormat

string

“{numNatEntries} entries”

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

virtualisationInfrastructure.ipv4 ↗.natTable ↗.networkProtocolModule

string

“^.ip”

virtualisationInfrastructure.ipv4 ↗.natTable ↗.config

xml

xml(“<config></config>”)

XML configuration parameters for network address translation

virtualisationInfrastructure.ipv4 ↗.up ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

virtualisationInfrastructure.ipv4 ↗.up ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

virtualisationInfrastructure.ipv4 ↗.up ↗.forwardServiceRegistration

bool

true

virtualisationInfrastructure.ipv4 ↗.up ↗.forwardProtocolRegistration

bool

true

virtualisationInfrastructure.ipv4 ↗.up ↗.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

virtualisationInfrastructure.ipv4 ↗.up ↗.serviceMapping

object

{}

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

virtualisationInfrastructure.ipv4 ↗.up ↗.protocolMapping

object

{}

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

virtualisationInfrastructure.ipv4 ↗.igmp ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv4 ↗.igmp ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv4 ↗.igmp ↗.routingTableModule

string

virtualisationInfrastructure.ipv4 ↗.igmp ↗.checksumMode

string

“declared”

virtualisationInfrastructure.ipv4 ↗.igmp ↗.enabled

bool

true

virtualisationInfrastructure.ipv4 ↗.igmp ↗.robustnessVariable

int

2

IGMP is robust to (robustnessVariable-1) packet loss

virtualisationInfrastructure.ipv4 ↗.igmp ↗.queryInterval

double

125s

virtualisationInfrastructure.ipv4 ↗.igmp ↗.queryResponseInterval

double

10s

virtualisationInfrastructure.ipv4 ↗.igmp ↗.groupMembershipInterval

double

(robustnessVariable * queryInterval) + queryResponseInterval

virtualisationInfrastructure.ipv4 ↗.igmp ↗.otherQuerierPresentInterval

double

(robustnessVariable * queryInterval) + (queryResponseInterval / 2)

virtualisationInfrastructure.ipv4 ↗.igmp ↗.startupQueryInterval

double

queryInterval / 4

virtualisationInfrastructure.ipv4 ↗.igmp ↗.startupQueryCount

int

robustnessVariable

virtualisationInfrastructure.ipv4 ↗.igmp ↗.lastMemberQueryInterval

double

1s

virtualisationInfrastructure.ipv4 ↗.igmp ↗.lastMemberQueryCount

int

robustnessVariable

virtualisationInfrastructure.ipv4 ↗.igmp ↗.unsolicitedReportInterval

double

10s

virtualisationInfrastructure.ipv4 ↗.icmp ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv4 ↗.icmp ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv4 ↗.icmp ↗.routingTableModule

string

virtualisationInfrastructure.ipv4 ↗.icmp ↗.checksumMode

string

“declared”

virtualisationInfrastructure.ipv4 ↗.icmp ↗.quoteLength

int

8B

Number of bytes from original packet to quote in ICMP reply

virtualisationInfrastructure.ipv4 ↗.mp ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

virtualisationInfrastructure.ipv4 ↗.mp ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

virtualisationInfrastructure.ipv4 ↗.mp ↗.forwardServiceRegistration

bool

true

virtualisationInfrastructure.ipv4 ↗.mp ↗.forwardProtocolRegistration

bool

true

virtualisationInfrastructure.ipv4 ↗.mp ↗.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

virtualisationInfrastructure.ipv4 ↗.mp ↗.serviceMapping

object

{}

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

virtualisationInfrastructure.ipv4 ↗.mp ↗.protocolMapping

object

{}

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

virtualisationInfrastructure.ipv4 ↗.ip ↗.displayStringTextFormat

string

“{ipv4StatusText}”

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

virtualisationInfrastructure.ipv4 ↗.ip ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv4 ↗.ip ↗.routingTableModule

string

virtualisationInfrastructure.ipv4 ↗.ip ↗.arpModule

string

virtualisationInfrastructure.ipv4 ↗.ip ↗.icmpModule

string

virtualisationInfrastructure.ipv4 ↗.ip ↗.checksumMode

string

“declared”

virtualisationInfrastructure.ipv4 ↗.ip ↗.timeToLive

int

32

virtualisationInfrastructure.ipv4 ↗.ip ↗.multicastTimeToLive

int

32

virtualisationInfrastructure.ipv4 ↗.ip ↗.fragmentTimeout

double

60s

virtualisationInfrastructure.ipv4 ↗.ip ↗.limitedBroadcast

bool

false

Send out limited broadcast packets coming from the higher layer

virtualisationInfrastructure.ipv4 ↗.ip ↗.directBroadcastInterfaces

string

“”

List of interfaces where direct broadcast is enabled (by default direct broadcast is disabled on all interfaces)

virtualisationInfrastructure.ipv4 ↗.ip ↗.enableLocalOutMulticastRouting

bool

false

Enable using the multicast routing table for determining outgoing interfaces for local out packets

virtualisationInfrastructure.ipv4 ↗.ip ↗.enableTimestampOption

bool

false

When enabled, IP inserts a timestamp option into the IP header

virtualisationInfrastructure.ipv4 ↗.ip ↗.maxLifetime

double

-1s

Packets older than the limit are discarded

virtualisationInfrastructure.ipv4 ↗.arp ↗.displayStringTextFormat

string

“size:{arpCacheSize} sent:{numRequestsSent}\nrepl:{numRepliesSent} fail:{numFailedResolutions}”

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

virtualisationInfrastructure.ipv4 ↗.arp ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv4 ↗.arp ↗.routingTableModule

string

virtualisationInfrastructure.ipv4 ↗.arp ↗.retryTimeout

double

1s

Number of seconds ARP waits between retries to resolve an IPv4 address

virtualisationInfrastructure.ipv4 ↗.arp ↗.retryCount

int

3

Number of times ARP will attempt to resolve an IPv4 address

virtualisationInfrastructure.ipv4 ↗.arp ↗.cacheTimeout

double

120s

Number of seconds unused entries in the cache will time out

virtualisationInfrastructure.ipv4 ↗.arp ↗.proxyArpInterfaces

string

“*”

List of interfaces that proxy ARP is enabled on (all interfaces by default)

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.displayStringTextFormat

string

“IN: ACCEPT: {inAccept} DROP: {inDrop} BYPASS: {inBypass}\n OUT: PROTECT: {outProtect} DROP: {outDrop} BYPASS: {outBypass}”

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

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.networkProtocolModule

string

“^.ip”

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.networkProtocol

string

“ipv4”

address family this instance protects (set to “ipv6” in Ipv6NetworkLayer)

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.interfaceTableModule

string

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.spdModule

string

“^.spd”

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.sadModule

string

“^.sad”

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.spdConfig

xml

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.defaultProtection

string

“”

If not “”: value to use where <Protection> element is absent from the configuration

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.defaultEspMode

string

“”

If not “”: value to use where <EspMode> element is absent from the configuration

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.defaultEncryptionAlg

string

“”

If not “”: value to use where <EncryptionAlg> element is absent from the configuration

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.defaultAuthenticationAlg

string

“”

If not “”: value to use where <defaultAuthenticationAlg> element is absent from the configuration

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.defaultMaxTfcPadLength

int

0

Value to use where <MaxTfcPadLength> element is absent from the configuration

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.ahProtectOutDelay

double

0.0s

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.ahProtectInDelay

double

0.0s

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.espProtectOutDelay

double

0.0s

virtualisationInfrastructure.ipv4 ↗.ipsec ↗.espProtectInDelay

double

0.0s

virtualisationInfrastructure.ipv4 ↗.spd ↗.displayStringTextFormat

string

“entries: {numEntries}”

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

virtualisationInfrastructure.ipv4 ↗.sad ↗.displayStringTextFormat

string

“entries: {numEntries}”

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

virtualisationInfrastructure.ipv4 ↗.lp ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

virtualisationInfrastructure.ipv4 ↗.lp ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

virtualisationInfrastructure.ipv4 ↗.lp ↗.forwardServiceRegistration

bool

true

virtualisationInfrastructure.ipv4 ↗.lp ↗.forwardProtocolRegistration

bool

true

virtualisationInfrastructure.ipv4 ↗.lp ↗.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

virtualisationInfrastructure.ipv4 ↗.lp ↗.serviceMapping

object

{}

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

virtualisationInfrastructure.ipv4 ↗.lp ↗.protocolMapping

object

{}

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

virtualisationInfrastructure.ipv6 ↗.configurator ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv6 ↗.configurator ↗.interfaceTableModule

string

virtualisationInfrastructure.ipv6 ↗.configurator ↗.routingTableModule

string

virtualisationInfrastructure.ipv6 ↗.configurator ↗.networkConfiguratorModule

string

“”

The absolute path to the Ipv6NetworkConfigurator; use “” if there is no configurator

virtualisationInfrastructure.ipv6 ↗.configurator ↗.configureRoutingTable

bool

true

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.displayStringTextFormat

string

“{numRoutes} routes\n{numDestCache} destcache entries”

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

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.routes

xml

xml(“<routingTable/>”)

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.forwarding

bool

false

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.isRouter

bool

this.forwarding

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.multicastForwarding

bool

false

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.useAdminDist

bool

false

Use Cisco-like administrative distances

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.advManagedFlag

bool

false

“Managed address configuration” (M) flag in RAs

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.advOtherConfigFlag

bool

false

“Other configuration” (O) flag in RAs

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.advLinkMtu

int

1280

MTU option in RAs (1280 = IPv6 minimum MTU, 0 = don’t include)

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.advCurHopLimit

int

30

Cur Hop Limit field in RAs (0 = unspecified)

virtualisationInfrastructure.ipv6 ↗.routingTable ↗.advDefaultLifetime

double

-1s

Router Lifetime in RAs (-1 = auto: 3*maxRtrAdvInterval)

virtualisationInfrastructure.ipv6 ↗.up ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

virtualisationInfrastructure.ipv6 ↗.up ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

virtualisationInfrastructure.ipv6 ↗.up ↗.forwardServiceRegistration

bool

true

virtualisationInfrastructure.ipv6 ↗.up ↗.forwardProtocolRegistration

bool

true

virtualisationInfrastructure.ipv6 ↗.up ↗.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

virtualisationInfrastructure.ipv6 ↗.up ↗.serviceMapping

object

{}

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

virtualisationInfrastructure.ipv6 ↗.up ↗.protocolMapping

object

{}

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

virtualisationInfrastructure.ipv6 ↗.icmpv6 ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv6 ↗.icmpv6 ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv6 ↗.icmpv6 ↗.checksumMode

string

“declared”

virtualisationInfrastructure.ipv6 ↗.icmpv6 ↗.mldModule

string

“”

Path to the MLD module, or “” if MLD is not enabled; MLD messages are dropped when empty

virtualisationInfrastructure.ipv6 ↗.lp ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

virtualisationInfrastructure.ipv6 ↗.lp ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

virtualisationInfrastructure.ipv6 ↗.lp ↗.forwardServiceRegistration

bool

true

virtualisationInfrastructure.ipv6 ↗.lp ↗.forwardProtocolRegistration

bool

true

virtualisationInfrastructure.ipv6 ↗.lp ↗.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

virtualisationInfrastructure.ipv6 ↗.lp ↗.serviceMapping

object

{}

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

virtualisationInfrastructure.ipv6 ↗.lp ↗.protocolMapping

object

{}

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

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.checksumMode

string

“declared”

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.icmpv6Module

string

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.mipv6Module

string

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.routingTableModule

string

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.minIntervalBetweenRAs

double

200s

RFC 4861: MinRtrAdvInterval (0.33 * MaxRtrAdvInterval)

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.maxIntervalBetweenRAs

double

600s

RFC 4861: MaxRtrAdvInterval

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.advReachableTime

double

3600s

advertised reachable time in RAs; hosts use it as base for NUD

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.dupAddrDetectTransmits

int

1

RFC 4862 Section 5.1: number of NS sent for DAD (0 = disable DAD)

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.optimisticDad

bool

false

RFC 4429 Optimistic DAD: if true, an autoconfigured address may be used as a source address while DAD is still in progress; if false (RFC 4862), packets that would use it are deferred until DAD completes

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.detectL2Movement

bool

true

if true (default), (re)start Router Discovery (send Router Solicitations) whenever an interface associates at the link layer (e.g. a wireless handover to a new access point); lets a mobile node detect movement and obtain a new care-of address immediately, instead of relying on frequent unsolicited Router Advertisements (cf. MIPv6 fast RAs). Set to false to restore the legacy behaviour (movement detected only from periodic Router Advertisements)

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.retransTimer

double

1s

RFC 4861 Section 10: delay between retransmitted NS messages

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.baseReachableTime

double

30s

RFC 4861 Section 10: base value for computing random ReachableTime

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.routerBootupTime

double

uniform(0s, 0.3s)

random startup delay before a router assigns its link-local address; routers boot faster than hosts so that RAs are available by the time hosts solicit

virtualisationInfrastructure.ipv6 ↗.neighbourDiscovery ↗.hostBootupTime

double

uniform(0.4s, 1s)

random startup delay before a host assigns its link-local address

virtualisationInfrastructure.ipv6 ↗.ipv6 ↗.displayStringTextFormat

string

“{ipv6StatusText}”

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

virtualisationInfrastructure.ipv6 ↗.ipv6 ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv6 ↗.ipv6 ↗.routingTableModule

string

virtualisationInfrastructure.ipv6 ↗.ipv6 ↗.ipv6NeighbourDiscoveryModule

string

virtualisationInfrastructure.ipv6 ↗.ipv6 ↗.icmpv6Module

string

virtualisationInfrastructure.ipv6 ↗.ipv6 ↗.procDelay

double

0s

virtualisationInfrastructure.ipv6 ↗.ipv6 ↗.sendRedirects

bool

true

RFC 4861 Section 8.2: when a router forwards a packet back out the interface it arrived on, send the source an ICMPv6 Redirect. Disable on wireless multi-hop / ad-hoc networks (e.g. MANET routing), where the geographic next hop is not directly reachable by the source, so redirects are useless and trigger a storm.

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.displayStringTextFormat

string

“IN: ACCEPT: {inAccept} DROP: {inDrop} BYPASS: {inBypass}\n OUT: PROTECT: {outProtect} DROP: {outDrop} BYPASS: {outBypass}”

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

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.interfaceTableModule

string

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.spdModule

string

“^.spd”

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.sadModule

string

“^.sad”

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.spdConfig

xml

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.defaultProtection

string

“”

If not “”: value to use where <Protection> element is absent from the configuration

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.defaultEspMode

string

“”

If not “”: value to use where <EspMode> element is absent from the configuration

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.defaultEncryptionAlg

string

“”

If not “”: value to use where <EncryptionAlg> element is absent from the configuration

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.defaultAuthenticationAlg

string

“”

If not “”: value to use where <defaultAuthenticationAlg> element is absent from the configuration

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.defaultMaxTfcPadLength

int

0

Value to use where <MaxTfcPadLength> element is absent from the configuration

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.ahProtectOutDelay

double

0.0s

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.ahProtectInDelay

double

0.0s

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.espProtectOutDelay

double

0.0s

virtualisationInfrastructure.ipv6 ↗.ipsec ↗.espProtectInDelay

double

0.0s

virtualisationInfrastructure.ipv6 ↗.spd ↗.displayStringTextFormat

string

“entries: {numEntries}”

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

virtualisationInfrastructure.ipv6 ↗.sad ↗.displayStringTextFormat

string

“entries: {numEntries}”

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

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.ipv6NeighbourDiscoveryModule

string

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.bindingUpdateListModule

string

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.bindingCacheModule

string

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.isHomeAgent

bool

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.isMobileNode

bool

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.maxHaBindingLifeTime

double

3600s

max binding lifetime for HA registration

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.maxRrBindingLifeTime

double

420s

max binding lifetime for CN (route optimization)

virtualisationInfrastructure.ipv6 ↗.mipv6 ↗.useRouteOptimization

bool

true

whether a mobile node route-optimizes with correspondent nodes (RFC 3775); if false, their traffic always uses the bidirectional home-agent tunnel

virtualisationInfrastructure.ipv6 ↗.buList ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv6 ↗.bindingCache ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.interfaceTableModule

string

path to the InterfaceTable module

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.ipv6NeighbourDiscoveryModule

string

path to the Ipv6NeighbourDiscovery module

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.isLocalMobilityAnchor

bool

false

(the IPv6 routing table is resolved automatically)

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.isMobileAccessGateway

bool

false

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.localMobilityAnchorAddress

string

“”

MAG: the address of the LMA to register mobile nodes with

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.mobileNodeProfiles

xml

xml(“<mobileNodes/>”)

MAG: mobile-node policy profiles, one per access interface, e.g. <mobileNodes> <mobileNode accessInterface=”wlan0” id=”mn1@example.com” homeNetworkPrefix=”2001:db8:1::” prefixLength=”64”/> </mobileNodes> (accessInterface may be omitted to match any access interface)

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.bindingLifetime

double

3600s

lifetime requested in Proxy Binding Updates

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.homeNetworkPrefixAdvValidLifetime

double

3600s

MAG: valid lifetime of the advertised home network prefix

virtualisationInfrastructure.ipv6 ↗.pmipv6 ↗.homeNetworkPrefixAdvPreferredLifetime

double

1800s

MAG: preferred lifetime of the advertised home network prefix

virtualisationInfrastructure.ipv6 ↗.mld ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.ipv6 ↗.mld ↗.interfaceTableModule

string

path to the InterfaceTable module

virtualisationInfrastructure.ipv6 ↗.mld ↗.routingTableModule

string

path to the Ipv6RoutingTable module

virtualisationInfrastructure.ipv6 ↗.mld ↗.checksumMode

string

“declared”

how the ICMPv6 checksum is handled

virtualisationInfrastructure.ipv6 ↗.mld ↗.enabled

bool

true

when false, MLD is inert on this node (see above)

virtualisationInfrastructure.ipv6 ↗.mld ↗.unsolicitedReportInterval

double

10s

host: delay before the repeated Report after a join

virtualisationInfrastructure.ipv6 ↗.mld ↗.robustnessVariable

int

2

loss tolerance; only supplies the defaults of the three params marked (RV) below

virtualisationInfrastructure.ipv6 ↗.mld ↗.queryInterval

double

125s

querier: interval between periodic General Queries

virtualisationInfrastructure.ipv6 ↗.mld ↗.queryResponseInterval

double

10s

querier: max delay a host may wait before answering a General Query

virtualisationInfrastructure.ipv6 ↗.mld ↗.multicastListenerInterval

double

(robustnessVariable * queryInterval) + queryResponseInterval

querier: how long a group stays “has listeners” without a new Report (RV)

virtualisationInfrastructure.ipv6 ↗.mld ↗.startupQueryInterval

double

queryInterval / 4

querier: interval between the initial General Queries at startup

virtualisationInfrastructure.ipv6 ↗.mld ↗.startupQueryCount

int

robustnessVariable

querier: number of General Queries sent at startup (RV)

virtualisationInfrastructure.ipv6 ↗.mld ↗.lastListenerQueryInterval

double

1s

querier: interval between the group-specific Queries sent after a Done

virtualisationInfrastructure.ipv6 ↗.mld ↗.lastListenerQueryCount

int

robustnessVariable

querier: number of group-specific Queries sent after a Done (RV)

virtualisationInfrastructure.udp ↗.displayStringTextFormat

string

“passed up: {numPassedUp} pks\nsent: {numSent} pks{udpDroppedText}”

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

virtualisationInfrastructure.udp ↗.interfaceTableModule

string

The path to the InterfaceTable module

virtualisationInfrastructure.udp ↗.checksumMode

string

“declared”

virtualisationInfrastructure.udp ↗.defaultMulticastLoop

bool

true

virtualisationInfrastructure.tcp ↗.displayStringTextFormat

string

“”

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

virtualisationInfrastructure.tcp ↗.checksumMode

string

“declared”

virtualisationInfrastructure.tcp ↗.advertisedWindow

int

14 * this.mss

In bytes, corresponds with the maximal receiver buffer capacity (Note: normally, NIC queues should be at least this size)

virtualisationInfrastructure.tcp ↗.delayedAcksEnabled

bool

false

Delayed ACK algorithm (RFC 1122) enabled/disabled

virtualisationInfrastructure.tcp ↗.nagleEnabled

bool

true

Nagle’s algorithm (RFC 896) enabled/disabled

virtualisationInfrastructure.tcp ↗.limitedTransmitEnabled

bool

false

Limited Transmit algorithm (RFC 3042) enabled/disabled (can be used for TcpReno/TcpTahoe/TcpNewReno/TcpNoCongestionControl)

virtualisationInfrastructure.tcp ↗.increasedIWEnabled

bool

false

Increased Initial Window (RFC 3390) enabled/disabled

virtualisationInfrastructure.tcp ↗.sackSupport

bool

false

Selective Acknowledgment (RFC 2018, 2883, 3517) support (header option) (SACK will be enabled for a connection if both endpoints support it)

virtualisationInfrastructure.tcp ↗.windowScalingSupport

bool

false

Window Scale (RFC 1323) support (header option) (WS will be enabled for a connection if both endpoints support it)

virtualisationInfrastructure.tcp ↗.windowScalingFactor

int

-1

Window Scaling Factor given as a shift count. Valid values are 0..14, and -1 for automatic selection (it chooses the smallest shift count that makes advertisedWindow representable in 16 bits)

virtualisationInfrastructure.tcp ↗.timestampSupport

bool

false

Timestamps (RFC 1323) support (header option) (TS will be enabled for a connection if both endpoints support it)

virtualisationInfrastructure.tcp ↗.mss

int

536

Maximum Segment Size (header option). Default 536 per RFC 1122.

virtualisationInfrastructure.tcp ↗.msl

int

120s

Maximum Segment Lifetime

virtualisationInfrastructure.tcp ↗.tcpAlgorithmClass

string

“TcpReno”

virtualisationInfrastructure.tcp ↗.dupthresh

int

3

Used for TcpTahoe, TcpReno, and SACK (RFC 3517) DO NOT change unless you really know what you are doing

virtualisationInfrastructure.tcp ↗.initialSsthresh

int

0xFFFFFFFF

Initial value for Slow Start threshold used in TahoeRenoFamily. The initial value of ssthresh SHOULD be set arbitrarily high (e.g., to the size of the largest possible advertised window) Without user interaction there is no limit…

virtualisationInfrastructure.tcp ↗.stopOperationExtraTime

double

0s

Extra time after lifecycle stop operation finished

virtualisationInfrastructure.tcp ↗.stopOperationTimeout

double

2s

Timeout value for lifecycle stop operation

virtualisationInfrastructure.tcp ↗.ecnWillingness

bool

false

True if willing to use ECN

virtualisationInfrastructure.tcp ↗.dctcpGamma

double

0.0625

A fixed estimation gain for calculating dctcp_alpha (RFC 8257 4.2)

virtualisationInfrastructure.tcp ↗.pmtudEnabled

bool

false

Path MTU Discovery (RFC 1191, RFC 1981) enabled/disabled

virtualisationInfrastructure.tcp ↗.pmtudTimeout

double

600s

Time after which the original MSS is restored to probe for increased path MTU (RFC 1191, Section 6.3)

virtualisationInfrastructure.at ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

virtualisationInfrastructure.at ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

virtualisationInfrastructure.at ↗.forwardServiceRegistration

bool

true

virtualisationInfrastructure.at ↗.forwardProtocolRegistration

bool

true

virtualisationInfrastructure.at ↗.interfaceMapping

object

{}

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

virtualisationInfrastructure.at ↗.serviceMapping

object

{}

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

virtualisationInfrastructure.at ↗.protocolMapping

object

{}

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

virtualisationInfrastructure.tn ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

virtualisationInfrastructure.tn ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

virtualisationInfrastructure.tn ↗.forwardServiceRegistration

bool

true

virtualisationInfrastructure.tn ↗.forwardProtocolRegistration

bool

true

virtualisationInfrastructure.tn ↗.interfaceMapping

object

{}

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

virtualisationInfrastructure.tn ↗.serviceMapping

object

{}

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

virtualisationInfrastructure.tn ↗.protocolMapping

object

{}

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

virtualisationInfrastructure.nl ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

virtualisationInfrastructure.nl ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

virtualisationInfrastructure.nl ↗.forwardServiceRegistration

bool

true

virtualisationInfrastructure.nl ↗.forwardProtocolRegistration

bool

true

virtualisationInfrastructure.nl ↗.interfaceMapping

object

{}

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

virtualisationInfrastructure.nl ↗.serviceMapping

object

{}

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

virtualisationInfrastructure.nl ↗.protocolMapping

object

{}

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

mecPlatform.serviceRegistry.serviceName

string

“ServiceRegistry”

mecPlatform.serviceRegistry.requestQueueSize

int

0

mecPlatform.serviceRegistry.subscriptionQueueSize

int

0

mecPlatform.serviceRegistry.localAddress

string

“”

Local address; may be left empty (“”)

mecPlatform.serviceRegistry.localPort

int

1000

localPort number to listen on

mecPlatform.serviceRegistry.requestServiceTime

double

15us

mecPlatform.serviceRegistry.subscriptionServiceTime

double

20us

mecPlatform.serviceRegistry.serverThreadClass

string

“simu5g.mec.platform.services.base.SocketManager”

mecPlatform.serviceRegistry.tos

int

-1

If not -1, set the Type of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value

mecPlatform.serviceRegistry.binderModule

string

“binder”

mecPlatformManager.mecOrchestrator

string

mecPlatformManager.serviceRegistryModule

string

“^.mecPlatform.serviceRegistry”

mecPlatformManager.vimModule

string

“^.vim”

vim.binderModule

string

“binder”

vim.mp1Port

int

10021

vim.scheduling

string

“segregation”

upf_mec.status ↗.displayStringTextFormat

string

“{stateStr}”

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

upf_mec.status ↗.initialStatus

string

“UP”

Initial status of the network node

upf_mec.environment ↗.displayStringTextFormat

string

“”

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

upf_mec.environment ↗.initStage

int

0

Initialization stage for the setup command

upf_mec.environment ↗.globalNamespace

bool

false

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

upf_mec.environment ↗.namespace

string

“”

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

upf_mec.environment ↗.setupCommand

string

“”

A host OS system command

upf_mec.environment ↗.teardownCommand

string

“”

A host OS system command

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

upf_mec.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

upf_mec.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

upf_mec.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

upf_mec.pcapRecorder ↗.pcapFile

string

“”

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

upf_mec.pcapRecorder ↗.fileFormat

string

“pcapng”

upf_mec.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

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

upf_mec.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

upf_mec.pcapRecorder ↗.moduleNamePatterns

string

“wlan[*] eth[*] ppp[*]”

Space-separated list of sibling module names to listen on

upf_mec.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

upf_mec.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

upf_mec.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

upf_mec.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

upf_mec.pcapRecorder ↗.alwaysFlush

bool

false

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

upf_mec.interfaceTable ↗.displayStringTextFormat

string

“{numInterfaces} interfaces”

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

upf_mec.interfaceTable ↗.displayAddresses

bool

false

Whether to display IP addresses on links

upf_mec.cb ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.cb ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.cb ↗.forwardServiceRegistration

bool

true

upf_mec.cb ↗.forwardProtocolRegistration

bool

true

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

upf_mec.cb ↗.serviceMapping

object

{}

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

upf_mec.cb ↗.protocolMapping

object

{}

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

upf_mec.bl ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.bl ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.bl ↗.forwardServiceRegistration

bool

true

upf_mec.bl ↗.forwardProtocolRegistration

bool

true

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

upf_mec.bl ↗.serviceMapping

object

{}

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

upf_mec.bl ↗.protocolMapping

object

{}

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

upf_mec.ethernet ↗.displayStringTextFormat

string

“passed up: {totalFromMAC}\nsent: {totalFromHigherLayer}”

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

upf_mec.ethernet ↗.registerProtocol

bool

false

FIXME //KLUDGE should redesign place of EthernetEncapsulation and LLC modules

upf_mec.ethernet ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ethernet ↗.fcsMode

string

“declared”

upf_mec.ethernet ↗.stopOperationExtraTime

double

-1s

Extra time after the lifecycle stop operation has finished

upf_mec.ethernet ↗.stopOperationTimeout

double

2s

Timeout value for the lifecycle stop operation

upf_mec.li ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.li ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.li ↗.forwardServiceRegistration

bool

true

upf_mec.li ↗.forwardProtocolRegistration

bool

true

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

upf_mec.li ↗.serviceMapping

object

{}

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

upf_mec.li ↗.protocolMapping

object

{}

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

upf_mec.lo ↗.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

upf_mec.lo ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

upf_mec.lo ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

upf_mec.lo ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

upf_mec.lo ↗.pcapRecorder ↗.pcapFile

string

“”

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

upf_mec.lo ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

upf_mec.lo ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

upf_mec.lo ↗.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).

upf_mec.lo ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

upf_mec.lo ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

upf_mec.lo ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

upf_mec.lo ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

upf_mec.lo ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.lo ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

upf_mec.lo ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

upf_mec.lo ↗.lo ↗.displayStringTextFormat

string

“rcv:{numRcvdOK} snt:{numSent}”

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

upf_mec.lo ↗.lo ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.lo ↗.lo ↗.mtu

int

4470B

upf_mec.wlan ↗.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

upf_mec.wlan ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

upf_mec.wlan ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

upf_mec.wlan ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

upf_mec.wlan ↗.pcapRecorder ↗.pcapFile

string

“”

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

upf_mec.wlan ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

upf_mec.wlan ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

upf_mec.wlan ↗.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).

upf_mec.wlan ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

upf_mec.wlan ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

upf_mec.wlan ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

upf_mec.wlan ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

upf_mec.wlan ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.wlan ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

upf_mec.wlan ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

upf_mec.wlan ↗.mib ↗.displayStringTextFormat

string

“Address: {address}{ssidStr}\n{modeStr}{stationTypeStr}{qosStr}{associatedStr}”

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

upf_mec.wlan ↗.agent ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.agent ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.wlan ↗.agent ↗.mibModule

string

upf_mec.wlan ↗.agent ↗.activeScan

bool

true

Selects between active and passive scanning

upf_mec.wlan ↗.agent ↗.channelsToScan

string

“”

List of channel numbers to scan (space delimited); empty means all channels

upf_mec.wlan ↗.agent ↗.probeDelay

double

100ms

Delay before sending a probe request during active scanning

upf_mec.wlan ↗.agent ↗.minChannelTime

double

150ms

Min interval to spend on a channel during active scanning

upf_mec.wlan ↗.agent ↗.maxChannelTime

double

300ms

Channel time for passive scanning, and max channel time for active scanning

upf_mec.wlan ↗.agent ↗.authenticationTimeout

double

5s

Timeout for the authentication procedure

upf_mec.wlan ↗.agent ↗.associationTimeout

double

5s

Timeout for the association procedure

upf_mec.wlan ↗.agent ↗.startingTime

double

-1s

Agent starting time.

upf_mec.wlan ↗.agent ↗.defaultSsid

string

“”

List of allowed SSIDs to connect to; leave empty for no filtering

upf_mec.wlan ↗.mgmt ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mgmt ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.wlan ↗.mgmt ↗.numChannels

int

1

Number of channels to scan

upf_mec.wlan ↗.mgmt ↗.mibModule

string

upf_mec.wlan ↗.mgmt ↗.macModule

string

The path to the MAC module

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.pendingQueue ↗.displayStringTextFormat

string

“contains %p pk (%l) pushed %u\npulled %o removed %r dropped %d”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.pendingQueue ↗.packetCapacity

int

100

Maximum number of packets in the queue, no limit by default

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.pendingQueue ↗.dataCapacity

int

-1b

Maximum total length of packets in the queue, no limit by default

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.pendingQueue ↗.dropperClass

string

“inet::queueing::PacketAtCollectionEndDropper”

Determines which packets are dropped when the queue is overloaded, packets are not dropped by default; the parameter must be the name of a C++ class which implements the IPacketDropperFunction C++ interface and is registered via Register_Class

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.pendingQueue ↗.comparatorClass

string

“inet::ieee80211::MgmtOverDataComparator”

Determines the order of packets in the queue, insertion order by default; the parameter must be the name of a C++ class which implements the IPacketComparatorFunction C++ interface and is registered via Register_Class

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.pendingQueue ↗.bufferModule

string

“”

Relative module path to the IPacketBuffer module used by this queue, implicit buffer by default

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.inProgressFrames ↗.displayStringTextFormat

string

“{numInProgress} packets”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.inProgressFrames ↗.pendingQueueModule

string

“^.pendingQueue”

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.inProgressFrames ↗.originatorMacDataServiceModule

string

“^.^.originatorMacDataService”

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.inProgressFrames ↗.ackHandlerModule

string

“^.^.ackHandler”

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.contention ↗.displayStringTextFormat

string

“{fsmState}”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.contention ↗.initialChannelBusy

bool

true

Assume that the channel was busy before the simulation started

upf_mec.wlan ↗.mac ↗.dcf ↗.channelAccess ↗.contention ↗.backoffOptimization

bool

true

We can pretend the frame has arrived into the queue a little bit earlier, and maybe able to start transmitting immediately

upf_mec.wlan ↗.mac ↗.dcf ↗.originatorMacDataService ↗.fragmentationPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.originatorMacDataService ↗.fragmentationPolicy ↗.fragmentationThreshold

int

1500B

upf_mec.wlan ↗.mac ↗.dcf ↗.rateSelection ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.rateSelection ↗.multicastFrameBitrate

double

-1bps

upf_mec.wlan ↗.mac ↗.dcf ↗.rateSelection ↗.responseAckFrameBitrate

double

-1bps

upf_mec.wlan ↗.mac ↗.dcf ↗.rateSelection ↗.responseCtsFrameBitrate

double

-1bps

upf_mec.wlan ↗.mac ↗.dcf ↗.rateSelection ↗.dataFrameBitrate

double

-1bps

Fastest

upf_mec.wlan ↗.mac ↗.dcf ↗.rateSelection ↗.dataFrameBandwidth

double

nan Hz

Unspecified by default

upf_mec.wlan ↗.mac ↗.dcf ↗.rateSelection ↗.dataFrameNumSpatialStreams

int

-1

Unspecified by default

upf_mec.wlan ↗.mac ↗.dcf ↗.rateSelection ↗.mgmtFrameBitrate

double

-1bps

Fastest

upf_mec.wlan ↗.mac ↗.dcf ↗.rateSelection ↗.controlFrameBitrate

double

-1bps

upf_mec.wlan ↗.mac ↗.dcf ↗.recoveryProcedure ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.recoveryProcedure ↗.shortRetryLimit

int

7

upf_mec.wlan ↗.mac ↗.dcf ↗.recoveryProcedure ↗.longRetryLimit

int

4

upf_mec.wlan ↗.mac ↗.dcf ↗.originatorProtectionMechanism ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.originatorProtectionMechanism ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.dcf ↗.ackHandler ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.originatorAckPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.originatorAckPolicy ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.dcf ↗.originatorAckPolicy ↗.ackTimeout

double

-1s

upf_mec.wlan ↗.mac ↗.dcf ↗.recipientAckPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.recipientAckPolicy ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.dcf ↗.rtsPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.rtsPolicy ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.dcf ↗.rtsPolicy ↗.ctsTimeout

double

-1s

upf_mec.wlan ↗.mac ↗.dcf ↗.rtsPolicy ↗.rtsThreshold

int

2346B

upf_mec.wlan ↗.mac ↗.dcf ↗.ctsPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.dcf ↗.ctsPolicy ↗.rxModule

string

upf_mec.wlan ↗.mac ↗.dcf ↗.ctsPolicy ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.pendingQueue ↗.displayStringTextFormat

string

“contains %p pk (%l) pushed %u\npulled %o removed %r dropped %d”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.pendingQueue ↗.packetCapacity

int

100

Maximum number of packets in the queue, no limit by default

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.pendingQueue ↗.dataCapacity

int

-1b

Maximum total length of packets in the queue, no limit by default

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.pendingQueue ↗.dropperClass

string

“inet::queueing::PacketAtCollectionEndDropper”

Determines which packets are dropped when the queue is overloaded, packets are not dropped by default; the parameter must be the name of a C++ class which implements the IPacketDropperFunction C++ interface and is registered via Register_Class

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.pendingQueue ↗.comparatorClass

string

“inet::ieee80211::MgmtOverDataComparator”

Determines the order of packets in the queue, insertion order by default; the parameter must be the name of a C++ class which implements the IPacketComparatorFunction C++ interface and is registered via Register_Class

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.pendingQueue ↗.bufferModule

string

“”

Relative module path to the IPacketBuffer module used by this queue, implicit buffer by default

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.inProgressFrames ↗.displayStringTextFormat

string

“{numInProgress} packets”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.inProgressFrames ↗.pendingQueueModule

string

“^.pendingQueue”

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.inProgressFrames ↗.originatorMacDataServiceModule

string

“^.^.^.originatorMacDataService”

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.inProgressFrames ↗.ackHandlerModule

string

“^.ackHandler”

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.contention ↗.displayStringTextFormat

string

“{fsmState}”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.contention ↗.initialChannelBusy

bool

true

Assume that the channel was busy before the simulation started

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.contention ↗.backoffOptimization

bool

true

We can pretend the frame has arrived into the queue a little bit earlier, and maybe able to start transmitting immediately

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.ackHandler ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.txopProcedure ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.txopProcedure ↗.txopLimit

double

-1s

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.recoveryProcedure ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.recoveryProcedure ↗.shortRetryLimit

int

7

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.edcaf ↗.recoveryProcedure ↗.longRetryLimit

int

4

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.collisionController ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.mgmtAndNonQoSRecoveryProcedure ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.mgmtAndNonQoSRecoveryProcedure ↗.shortRetryLimit

int

7

upf_mec.wlan ↗.mac ↗.hcf ↗.edca ↗.mgmtAndNonQoSRecoveryProcedure ↗.longRetryLimit

int

4

upf_mec.wlan ↗.mac ↗.hcf ↗.hcca ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorMacDataService ↗.msduAggregationPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorMacDataService ↗.msduAggregationPolicy ↗.subframeNumThreshold

int

-1

Minimum number of subframes needed to compose an A-MSDU. (-1 means it won’t be checked)

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorMacDataService ↗.msduAggregationPolicy ↗.aggregationLengthThreshold

int

-1

The minimum length for an aggregated payload necessary to create an A-MSDU (-1 means it won’t be checked).

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorMacDataService ↗.msduAggregationPolicy ↗.maxAMsduSize

int

4065

-1 means infinity

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorMacDataService ↗.msduAggregationPolicy ↗.qOsCheck

bool

true

Turns on/off the check of the presence of the QoS flag (false means off – this is needed for aggregation in DCF mode).

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorMacDataService ↗.mpduAggregationPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorMacDataService ↗.fragmentationPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorMacDataService ↗.fragmentationPolicy ↗.fragmentationThreshold

int

1500B

upf_mec.wlan ↗.mac ↗.hcf ↗.singleProtectionMechanism ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.singleProtectionMechanism ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.multicastFrameBitrate

double

-1bps

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.responseAckFrameBitrate

double

-1bps

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.responseBlockAckFrameBitrate

double

-1bps

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.responseCtsFrameBitrate

double

-1bps

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.dataFrameBitrate

double

-1bps

Fastest

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.dataFrameBandwidth

double

nan Hz

Unspecified by default

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.dataFrameNumSpatialStreams

int

-1

Unspecified by default

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.mgmtFrameBitrate

double

-1bps

Fastest

upf_mec.wlan ↗.mac ↗.hcf ↗.rateSelection ↗.controlFrameBitrate

double

-1bps

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorAckPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorAckPolicy ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorAckPolicy ↗.blockAckReqThreshold

int

5

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorAckPolicy ↗.maxBlockAckPolicyFrameLength

int

1000B

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorAckPolicy ↗.blockAckTimeout

double

-1s

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorAckPolicy ↗.ackTimeout

double

-1s

upf_mec.wlan ↗.mac ↗.hcf ↗.recipientAckPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.recipientAckPolicy ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.hcf ↗.rtsPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.rtsPolicy ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.hcf ↗.rtsPolicy ↗.ctsTimeout

double

-1s

upf_mec.wlan ↗.mac ↗.hcf ↗.rtsPolicy ↗.rtsThreshold

int

2346B

upf_mec.wlan ↗.mac ↗.hcf ↗.ctsPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.ctsPolicy ↗.rxModule

string

upf_mec.wlan ↗.mac ↗.hcf ↗.ctsPolicy ↗.rateSelectionModule

string

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorBlockAckAgreementPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorBlockAckAgreementPolicy ↗.delayedAckPolicySupported

bool

false

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorBlockAckAgreementPolicy ↗.aMsduSupported

bool

true

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorBlockAckAgreementPolicy ↗.maximumAllowedBufferSize

int

64

upf_mec.wlan ↗.mac ↗.hcf ↗.originatorBlockAckAgreementPolicy ↗.blockAckTimeoutValue

double

0s

0 means that it depends on the originator

upf_mec.wlan ↗.mac ↗.hcf ↗.recipientBlockAckAgreementPolicy ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.hcf ↗.recipientBlockAckAgreementPolicy ↗.delayedAckPolicySupported

bool

false

upf_mec.wlan ↗.mac ↗.hcf ↗.recipientBlockAckAgreementPolicy ↗.aMsduSupported

bool

true

upf_mec.wlan ↗.mac ↗.hcf ↗.recipientBlockAckAgreementPolicy ↗.maximumAllowedBufferSize

int

64

upf_mec.wlan ↗.mac ↗.hcf ↗.recipientBlockAckAgreementPolicy ↗.blockAckTimeoutValue

double

0s

0 means that it depends on the originator

upf_mec.wlan ↗.mac ↗.ds ↗.displayStringTextFormat

string

“”

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

upf_mec.wlan ↗.mac ↗.ds ↗.mibModule

string

upf_mec.wlan ↗.mac ↗.rx ↗.displayStringTextFormat

string

“{rxStatus}”

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

upf_mec.wlan ↗.mac ↗.tx ↗.displayStringTextFormat

string

“{txFramePrefix}{txState}”

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

upf_mec.wlan ↗.mac ↗.tx ↗.rxModule

string

upf_mec.ppp ↗.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

upf_mec.ppp ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

upf_mec.ppp ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

upf_mec.ppp ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

upf_mec.ppp ↗.pcapRecorder ↗.pcapFile

string

“”

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

upf_mec.ppp ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

upf_mec.ppp ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

upf_mec.ppp ↗.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).

upf_mec.ppp ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

upf_mec.ppp ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

upf_mec.ppp ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

upf_mec.ppp ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

upf_mec.ppp ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.ppp ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

upf_mec.ppp ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

upf_mec.ppp ↗.queue ↗.displayStringTextFormat

string

“contains %p pk (%l) pushed %u\npulled %o removed %r dropped %d”

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

upf_mec.ppp ↗.queue ↗.packetCapacity

int

10000

Maximum number of packets in the queue, no limit by default

upf_mec.ppp ↗.queue ↗.dataCapacity

int

-1b

Maximum total length of packets in the queue, no limit by default

upf_mec.ppp ↗.queue ↗.dropperClass

string

“inet::queueing::PacketAtCollectionEndDropper”

Determines which packets are dropped when the queue is overloaded, packets are not dropped by default; the parameter must be the name of a C++ class which implements the IPacketDropperFunction C++ interface and is registered via Register_Class

upf_mec.ppp ↗.queue ↗.comparatorClass

string

“”

Determines the order of packets in the queue, insertion order by default; the parameter must be the name of a C++ class which implements the IPacketComparatorFunction C++ interface and is registered via Register_Class

upf_mec.ppp ↗.queue ↗.bufferModule

string

“”

Relative module path to the IPacketBuffer module used by this queue, implicit buffer by default

upf_mec.ppp ↗.ppp ↗.displayStringTextFormat

string

“rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d”

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

upf_mec.ppp ↗.ppp ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ppp ↗.ppp ↗.sendRawBytes

bool

false

When true packets are serialized into a sequence of bytes before sending out

upf_mec.ppp ↗.ppp ↗.mtu

int

4470B

upf_mec.ppp ↗.ppp ↗.stopOperationExtraTime

double

-1s

Extra time after lifecycle stop operation finished

upf_mec.ppp ↗.ppp ↗.stopOperationTimeout

double

2s

Timeout value for lifecycle stop operation

upf_mec.eth ↗.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

upf_mec.eth ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

upf_mec.eth ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

upf_mec.eth ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

upf_mec.eth ↗.pcapRecorder ↗.pcapFile

string

“”

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

upf_mec.eth ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

upf_mec.eth ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

upf_mec.eth ↗.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).

upf_mec.eth ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

upf_mec.eth ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

upf_mec.eth ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

upf_mec.eth ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

upf_mec.eth ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.eth ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

upf_mec.eth ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

upf_mec.tun ↗.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

upf_mec.tun ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

upf_mec.tun ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

upf_mec.tun ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

upf_mec.tun ↗.pcapRecorder ↗.pcapFile

string

“”

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

upf_mec.tun ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

upf_mec.tun ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

upf_mec.tun ↗.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).

upf_mec.tun ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

upf_mec.tun ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

upf_mec.tun ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

upf_mec.tun ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

upf_mec.tun ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.tun ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

upf_mec.tun ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

upf_mec.tun ↗.tun ↗.displayStringTextFormat

string

“”

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

upf_mec.tun ↗.tun ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.tun ↗.tun ↗.mtu

int

1500B

upf_mec.virt ↗.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

upf_mec.virt ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

upf_mec.virt ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

upf_mec.virt ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

upf_mec.virt ↗.pcapRecorder ↗.pcapFile

string

“”

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

upf_mec.virt ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

upf_mec.virt ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

upf_mec.virt ↗.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).

upf_mec.virt ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

upf_mec.virt ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

upf_mec.virt ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

upf_mec.virt ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

upf_mec.virt ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.virt ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

upf_mec.virt ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

upf_mec.virt ↗.tunnel ↗.displayStringTextFormat

string

“”

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

upf_mec.virt ↗.tunnel ↗.interfaceTableModule

string

upf_mec.virt ↗.tunnel ↗.realInterface

string

upf_mec.virt ↗.tunnel ↗.protocol

string

vlanId != -1 ? “ieee8021qctag” : “”

upf_mec.virt ↗.tunnel ↗.address

string

“copy”

upf_mec.virt ↗.tunnel ↗.vlanId

int

-1

upf_mec.virt ↗.tunnel ↗.steal

bool

vlanId != -1

upf_mec.ipv4 ↗.configurator ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv4 ↗.configurator ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv4 ↗.configurator ↗.routingTableModule

string

upf_mec.ipv4 ↗.configurator ↗.networkConfiguratorModule

string

“configurator”

The absolute path to the Ipv4NetworkConfigurator; use “” if there is no configurator

upf_mec.ipv4 ↗.configurator ↗.configureRoutingTable

bool

true

Add routing entries to the routing table (uses the configurator module)

upf_mec.ipv4 ↗.routingTable ↗.displayStringTextFormat

string

“{routingTableStatusText}”

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

upf_mec.ipv4 ↗.routingTable ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv4 ↗.routingTable ↗.routerId

string

“auto”

For routers, the router id using IPv4 address dotted

upf_mec.ipv4 ↗.routingTable ↗.netmaskRoutes

string

“*”

Maintain netmask routes for interfaces

upf_mec.ipv4 ↗.routingTable ↗.forwarding

bool

true

Turns IP forwarding on/off

upf_mec.ipv4 ↗.routingTable ↗.multicastForwarding

bool

false

Turns multicast forwarding on/off

upf_mec.ipv4 ↗.routingTable ↗.useAdminDist

bool

false

Use Cisco-like administrative distances

upf_mec.ipv4 ↗.routingTable ↗.routingFile

string

“”

Routing table file name

upf_mec.ipv4 ↗.natTable ↗.displayStringTextFormat

string

“{numNatEntries} entries”

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

upf_mec.ipv4 ↗.natTable ↗.networkProtocolModule

string

“^.ip”

upf_mec.ipv4 ↗.natTable ↗.config

xml

xml(“<config></config>”)

XML configuration parameters for network address translation

upf_mec.ipv4 ↗.up ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ipv4 ↗.up ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.ipv4 ↗.up ↗.forwardServiceRegistration

bool

true

upf_mec.ipv4 ↗.up ↗.forwardProtocolRegistration

bool

true

upf_mec.ipv4 ↗.up ↗.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

upf_mec.ipv4 ↗.up ↗.serviceMapping

object

{}

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

upf_mec.ipv4 ↗.up ↗.protocolMapping

object

{}

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

upf_mec.ipv4 ↗.igmp ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv4 ↗.igmp ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv4 ↗.igmp ↗.routingTableModule

string

upf_mec.ipv4 ↗.igmp ↗.checksumMode

string

“declared”

upf_mec.ipv4 ↗.igmp ↗.enabled

bool

true

upf_mec.ipv4 ↗.igmp ↗.robustnessVariable

int

2

IGMP is robust to (robustnessVariable-1) packet loss

upf_mec.ipv4 ↗.igmp ↗.queryInterval

double

125s

upf_mec.ipv4 ↗.igmp ↗.queryResponseInterval

double

10s

upf_mec.ipv4 ↗.igmp ↗.groupMembershipInterval

double

(robustnessVariable * queryInterval) + queryResponseInterval

upf_mec.ipv4 ↗.igmp ↗.otherQuerierPresentInterval

double

(robustnessVariable * queryInterval) + (queryResponseInterval / 2)

upf_mec.ipv4 ↗.igmp ↗.startupQueryInterval

double

queryInterval / 4

upf_mec.ipv4 ↗.igmp ↗.startupQueryCount

int

robustnessVariable

upf_mec.ipv4 ↗.igmp ↗.lastMemberQueryInterval

double

1s

upf_mec.ipv4 ↗.igmp ↗.lastMemberQueryCount

int

robustnessVariable

upf_mec.ipv4 ↗.igmp ↗.unsolicitedReportInterval

double

10s

upf_mec.ipv4 ↗.icmp ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv4 ↗.icmp ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv4 ↗.icmp ↗.routingTableModule

string

upf_mec.ipv4 ↗.icmp ↗.checksumMode

string

“declared”

upf_mec.ipv4 ↗.icmp ↗.quoteLength

int

8B

Number of bytes from original packet to quote in ICMP reply

upf_mec.ipv4 ↗.mp ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ipv4 ↗.mp ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.ipv4 ↗.mp ↗.forwardServiceRegistration

bool

true

upf_mec.ipv4 ↗.mp ↗.forwardProtocolRegistration

bool

true

upf_mec.ipv4 ↗.mp ↗.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

upf_mec.ipv4 ↗.mp ↗.serviceMapping

object

{}

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

upf_mec.ipv4 ↗.mp ↗.protocolMapping

object

{}

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

upf_mec.ipv4 ↗.ip ↗.displayStringTextFormat

string

“{ipv4StatusText}”

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

upf_mec.ipv4 ↗.ip ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv4 ↗.ip ↗.routingTableModule

string

upf_mec.ipv4 ↗.ip ↗.arpModule

string

upf_mec.ipv4 ↗.ip ↗.icmpModule

string

upf_mec.ipv4 ↗.ip ↗.checksumMode

string

“declared”

upf_mec.ipv4 ↗.ip ↗.timeToLive

int

32

upf_mec.ipv4 ↗.ip ↗.multicastTimeToLive

int

32

upf_mec.ipv4 ↗.ip ↗.fragmentTimeout

double

60s

upf_mec.ipv4 ↗.ip ↗.limitedBroadcast

bool

false

Send out limited broadcast packets coming from the higher layer

upf_mec.ipv4 ↗.ip ↗.directBroadcastInterfaces

string

“”

List of interfaces where direct broadcast is enabled (by default direct broadcast is disabled on all interfaces)

upf_mec.ipv4 ↗.ip ↗.enableLocalOutMulticastRouting

bool

false

Enable using the multicast routing table for determining outgoing interfaces for local out packets

upf_mec.ipv4 ↗.ip ↗.enableTimestampOption

bool

false

When enabled, IP inserts a timestamp option into the IP header

upf_mec.ipv4 ↗.ip ↗.maxLifetime

double

-1s

Packets older than the limit are discarded

upf_mec.ipv4 ↗.arp ↗.displayStringTextFormat

string

“size:{arpCacheSize} sent:{numRequestsSent}\nrepl:{numRepliesSent} fail:{numFailedResolutions}”

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

upf_mec.ipv4 ↗.arp ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv4 ↗.arp ↗.routingTableModule

string

upf_mec.ipv4 ↗.arp ↗.retryTimeout

double

1s

Number of seconds ARP waits between retries to resolve an IPv4 address

upf_mec.ipv4 ↗.arp ↗.retryCount

int

3

Number of times ARP will attempt to resolve an IPv4 address

upf_mec.ipv4 ↗.arp ↗.cacheTimeout

double

120s

Number of seconds unused entries in the cache will time out

upf_mec.ipv4 ↗.arp ↗.proxyArpInterfaces

string

“*”

List of interfaces that proxy ARP is enabled on (all interfaces by default)

upf_mec.ipv4 ↗.ipsec ↗.displayStringTextFormat

string

“IN: ACCEPT: {inAccept} DROP: {inDrop} BYPASS: {inBypass}\n OUT: PROTECT: {outProtect} DROP: {outDrop} BYPASS: {outBypass}”

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

upf_mec.ipv4 ↗.ipsec ↗.networkProtocolModule

string

“^.ip”

upf_mec.ipv4 ↗.ipsec ↗.networkProtocol

string

“ipv4”

address family this instance protects (set to “ipv6” in Ipv6NetworkLayer)

upf_mec.ipv4 ↗.ipsec ↗.interfaceTableModule

string

upf_mec.ipv4 ↗.ipsec ↗.spdModule

string

“^.spd”

upf_mec.ipv4 ↗.ipsec ↗.sadModule

string

“^.sad”

upf_mec.ipv4 ↗.ipsec ↗.spdConfig

xml

upf_mec.ipv4 ↗.ipsec ↗.defaultProtection

string

“”

If not “”: value to use where <Protection> element is absent from the configuration

upf_mec.ipv4 ↗.ipsec ↗.defaultEspMode

string

“”

If not “”: value to use where <EspMode> element is absent from the configuration

upf_mec.ipv4 ↗.ipsec ↗.defaultEncryptionAlg

string

“”

If not “”: value to use where <EncryptionAlg> element is absent from the configuration

upf_mec.ipv4 ↗.ipsec ↗.defaultAuthenticationAlg

string

“”

If not “”: value to use where <defaultAuthenticationAlg> element is absent from the configuration

upf_mec.ipv4 ↗.ipsec ↗.defaultMaxTfcPadLength

int

0

Value to use where <MaxTfcPadLength> element is absent from the configuration

upf_mec.ipv4 ↗.ipsec ↗.ahProtectOutDelay

double

0.0s

upf_mec.ipv4 ↗.ipsec ↗.ahProtectInDelay

double

0.0s

upf_mec.ipv4 ↗.ipsec ↗.espProtectOutDelay

double

0.0s

upf_mec.ipv4 ↗.ipsec ↗.espProtectInDelay

double

0.0s

upf_mec.ipv4 ↗.spd ↗.displayStringTextFormat

string

“entries: {numEntries}”

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

upf_mec.ipv4 ↗.sad ↗.displayStringTextFormat

string

“entries: {numEntries}”

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

upf_mec.ipv4 ↗.lp ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ipv4 ↗.lp ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.ipv4 ↗.lp ↗.forwardServiceRegistration

bool

true

upf_mec.ipv4 ↗.lp ↗.forwardProtocolRegistration

bool

true

upf_mec.ipv4 ↗.lp ↗.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

upf_mec.ipv4 ↗.lp ↗.serviceMapping

object

{}

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

upf_mec.ipv4 ↗.lp ↗.protocolMapping

object

{}

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

upf_mec.ipv6 ↗.configurator ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv6 ↗.configurator ↗.interfaceTableModule

string

upf_mec.ipv6 ↗.configurator ↗.routingTableModule

string

upf_mec.ipv6 ↗.configurator ↗.networkConfiguratorModule

string

“”

The absolute path to the Ipv6NetworkConfigurator; use “” if there is no configurator

upf_mec.ipv6 ↗.configurator ↗.configureRoutingTable

bool

true

upf_mec.ipv6 ↗.routingTable ↗.displayStringTextFormat

string

“{numRoutes} routes\n{numDestCache} destcache entries”

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

upf_mec.ipv6 ↗.routingTable ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv6 ↗.routingTable ↗.routes

xml

xml(“<routingTable/>”)

upf_mec.ipv6 ↗.routingTable ↗.forwarding

bool

false

upf_mec.ipv6 ↗.routingTable ↗.isRouter

bool

this.forwarding

upf_mec.ipv6 ↗.routingTable ↗.multicastForwarding

bool

false

upf_mec.ipv6 ↗.routingTable ↗.useAdminDist

bool

false

Use Cisco-like administrative distances

upf_mec.ipv6 ↗.routingTable ↗.advManagedFlag

bool

false

“Managed address configuration” (M) flag in RAs

upf_mec.ipv6 ↗.routingTable ↗.advOtherConfigFlag

bool

false

“Other configuration” (O) flag in RAs

upf_mec.ipv6 ↗.routingTable ↗.advLinkMtu

int

1280

MTU option in RAs (1280 = IPv6 minimum MTU, 0 = don’t include)

upf_mec.ipv6 ↗.routingTable ↗.advCurHopLimit

int

30

Cur Hop Limit field in RAs (0 = unspecified)

upf_mec.ipv6 ↗.routingTable ↗.advDefaultLifetime

double

-1s

Router Lifetime in RAs (-1 = auto: 3*maxRtrAdvInterval)

upf_mec.ipv6 ↗.up ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ipv6 ↗.up ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.ipv6 ↗.up ↗.forwardServiceRegistration

bool

true

upf_mec.ipv6 ↗.up ↗.forwardProtocolRegistration

bool

true

upf_mec.ipv6 ↗.up ↗.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

upf_mec.ipv6 ↗.up ↗.serviceMapping

object

{}

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

upf_mec.ipv6 ↗.up ↗.protocolMapping

object

{}

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

upf_mec.ipv6 ↗.icmpv6 ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv6 ↗.icmpv6 ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv6 ↗.icmpv6 ↗.checksumMode

string

“declared”

upf_mec.ipv6 ↗.icmpv6 ↗.mldModule

string

“”

Path to the MLD module, or “” if MLD is not enabled; MLD messages are dropped when empty

upf_mec.ipv6 ↗.lp ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ipv6 ↗.lp ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.ipv6 ↗.lp ↗.forwardServiceRegistration

bool

true

upf_mec.ipv6 ↗.lp ↗.forwardProtocolRegistration

bool

true

upf_mec.ipv6 ↗.lp ↗.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

upf_mec.ipv6 ↗.lp ↗.serviceMapping

object

{}

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

upf_mec.ipv6 ↗.lp ↗.protocolMapping

object

{}

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

upf_mec.ipv6 ↗.neighbourDiscovery ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv6 ↗.neighbourDiscovery ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv6 ↗.neighbourDiscovery ↗.checksumMode

string

“declared”

upf_mec.ipv6 ↗.neighbourDiscovery ↗.icmpv6Module

string

upf_mec.ipv6 ↗.neighbourDiscovery ↗.mipv6Module

string

upf_mec.ipv6 ↗.neighbourDiscovery ↗.routingTableModule

string

upf_mec.ipv6 ↗.neighbourDiscovery ↗.minIntervalBetweenRAs

double

200s

RFC 4861: MinRtrAdvInterval (0.33 * MaxRtrAdvInterval)

upf_mec.ipv6 ↗.neighbourDiscovery ↗.maxIntervalBetweenRAs

double

600s

RFC 4861: MaxRtrAdvInterval

upf_mec.ipv6 ↗.neighbourDiscovery ↗.advReachableTime

double

3600s

advertised reachable time in RAs; hosts use it as base for NUD

upf_mec.ipv6 ↗.neighbourDiscovery ↗.dupAddrDetectTransmits

int

1

RFC 4862 Section 5.1: number of NS sent for DAD (0 = disable DAD)

upf_mec.ipv6 ↗.neighbourDiscovery ↗.optimisticDad

bool

false

RFC 4429 Optimistic DAD: if true, an autoconfigured address may be used as a source address while DAD is still in progress; if false (RFC 4862), packets that would use it are deferred until DAD completes

upf_mec.ipv6 ↗.neighbourDiscovery ↗.detectL2Movement

bool

true

if true (default), (re)start Router Discovery (send Router Solicitations) whenever an interface associates at the link layer (e.g. a wireless handover to a new access point); lets a mobile node detect movement and obtain a new care-of address immediately, instead of relying on frequent unsolicited Router Advertisements (cf. MIPv6 fast RAs). Set to false to restore the legacy behaviour (movement detected only from periodic Router Advertisements)

upf_mec.ipv6 ↗.neighbourDiscovery ↗.retransTimer

double

1s

RFC 4861 Section 10: delay between retransmitted NS messages

upf_mec.ipv6 ↗.neighbourDiscovery ↗.baseReachableTime

double

30s

RFC 4861 Section 10: base value for computing random ReachableTime

upf_mec.ipv6 ↗.neighbourDiscovery ↗.routerBootupTime

double

uniform(0s, 0.3s)

random startup delay before a router assigns its link-local address; routers boot faster than hosts so that RAs are available by the time hosts solicit

upf_mec.ipv6 ↗.neighbourDiscovery ↗.hostBootupTime

double

uniform(0.4s, 1s)

random startup delay before a host assigns its link-local address

upf_mec.ipv6 ↗.ipv6 ↗.displayStringTextFormat

string

“{ipv6StatusText}”

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

upf_mec.ipv6 ↗.ipv6 ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv6 ↗.ipv6 ↗.routingTableModule

string

upf_mec.ipv6 ↗.ipv6 ↗.ipv6NeighbourDiscoveryModule

string

upf_mec.ipv6 ↗.ipv6 ↗.icmpv6Module

string

upf_mec.ipv6 ↗.ipv6 ↗.procDelay

double

0s

upf_mec.ipv6 ↗.ipv6 ↗.sendRedirects

bool

true

RFC 4861 Section 8.2: when a router forwards a packet back out the interface it arrived on, send the source an ICMPv6 Redirect. Disable on wireless multi-hop / ad-hoc networks (e.g. MANET routing), where the geographic next hop is not directly reachable by the source, so redirects are useless and trigger a storm.

upf_mec.ipv6 ↗.ipsec ↗.displayStringTextFormat

string

“IN: ACCEPT: {inAccept} DROP: {inDrop} BYPASS: {inBypass}\n OUT: PROTECT: {outProtect} DROP: {outDrop} BYPASS: {outBypass}”

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

upf_mec.ipv6 ↗.ipsec ↗.interfaceTableModule

string

upf_mec.ipv6 ↗.ipsec ↗.spdModule

string

“^.spd”

upf_mec.ipv6 ↗.ipsec ↗.sadModule

string

“^.sad”

upf_mec.ipv6 ↗.ipsec ↗.spdConfig

xml

upf_mec.ipv6 ↗.ipsec ↗.defaultProtection

string

“”

If not “”: value to use where <Protection> element is absent from the configuration

upf_mec.ipv6 ↗.ipsec ↗.defaultEspMode

string

“”

If not “”: value to use where <EspMode> element is absent from the configuration

upf_mec.ipv6 ↗.ipsec ↗.defaultEncryptionAlg

string

“”

If not “”: value to use where <EncryptionAlg> element is absent from the configuration

upf_mec.ipv6 ↗.ipsec ↗.defaultAuthenticationAlg

string

“”

If not “”: value to use where <defaultAuthenticationAlg> element is absent from the configuration

upf_mec.ipv6 ↗.ipsec ↗.defaultMaxTfcPadLength

int

0

Value to use where <MaxTfcPadLength> element is absent from the configuration

upf_mec.ipv6 ↗.ipsec ↗.ahProtectOutDelay

double

0.0s

upf_mec.ipv6 ↗.ipsec ↗.ahProtectInDelay

double

0.0s

upf_mec.ipv6 ↗.ipsec ↗.espProtectOutDelay

double

0.0s

upf_mec.ipv6 ↗.ipsec ↗.espProtectInDelay

double

0.0s

upf_mec.ipv6 ↗.spd ↗.displayStringTextFormat

string

“entries: {numEntries}”

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

upf_mec.ipv6 ↗.sad ↗.displayStringTextFormat

string

“entries: {numEntries}”

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

upf_mec.ipv6 ↗.mipv6 ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv6 ↗.mipv6 ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.ipv6 ↗.mipv6 ↗.ipv6NeighbourDiscoveryModule

string

upf_mec.ipv6 ↗.mipv6 ↗.bindingUpdateListModule

string

upf_mec.ipv6 ↗.mipv6 ↗.bindingCacheModule

string

upf_mec.ipv6 ↗.mipv6 ↗.isHomeAgent

bool

upf_mec.ipv6 ↗.mipv6 ↗.isMobileNode

bool

upf_mec.ipv6 ↗.mipv6 ↗.maxHaBindingLifeTime

double

3600s

max binding lifetime for HA registration

upf_mec.ipv6 ↗.mipv6 ↗.maxRrBindingLifeTime

double

420s

max binding lifetime for CN (route optimization)

upf_mec.ipv6 ↗.mipv6 ↗.useRouteOptimization

bool

true

whether a mobile node route-optimizes with correspondent nodes (RFC 3775); if false, their traffic always uses the bidirectional home-agent tunnel

upf_mec.ipv6 ↗.buList ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv6 ↗.bindingCache ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv6 ↗.pmipv6 ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv6 ↗.pmipv6 ↗.interfaceTableModule

string

path to the InterfaceTable module

upf_mec.ipv6 ↗.pmipv6 ↗.ipv6NeighbourDiscoveryModule

string

path to the Ipv6NeighbourDiscovery module

upf_mec.ipv6 ↗.pmipv6 ↗.isLocalMobilityAnchor

bool

false

(the IPv6 routing table is resolved automatically)

upf_mec.ipv6 ↗.pmipv6 ↗.isMobileAccessGateway

bool

false

upf_mec.ipv6 ↗.pmipv6 ↗.localMobilityAnchorAddress

string

“”

MAG: the address of the LMA to register mobile nodes with

upf_mec.ipv6 ↗.pmipv6 ↗.mobileNodeProfiles

xml

xml(“<mobileNodes/>”)

MAG: mobile-node policy profiles, one per access interface, e.g. <mobileNodes> <mobileNode accessInterface=”wlan0” id=”mn1@example.com” homeNetworkPrefix=”2001:db8:1::” prefixLength=”64”/> </mobileNodes> (accessInterface may be omitted to match any access interface)

upf_mec.ipv6 ↗.pmipv6 ↗.bindingLifetime

double

3600s

lifetime requested in Proxy Binding Updates

upf_mec.ipv6 ↗.pmipv6 ↗.homeNetworkPrefixAdvValidLifetime

double

3600s

MAG: valid lifetime of the advertised home network prefix

upf_mec.ipv6 ↗.pmipv6 ↗.homeNetworkPrefixAdvPreferredLifetime

double

1800s

MAG: preferred lifetime of the advertised home network prefix

upf_mec.ipv6 ↗.mld ↗.displayStringTextFormat

string

“”

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

upf_mec.ipv6 ↗.mld ↗.interfaceTableModule

string

path to the InterfaceTable module

upf_mec.ipv6 ↗.mld ↗.routingTableModule

string

path to the Ipv6RoutingTable module

upf_mec.ipv6 ↗.mld ↗.checksumMode

string

“declared”

how the ICMPv6 checksum is handled

upf_mec.ipv6 ↗.mld ↗.enabled

bool

true

when false, MLD is inert on this node (see above)

upf_mec.ipv6 ↗.mld ↗.unsolicitedReportInterval

double

10s

host: delay before the repeated Report after a join

upf_mec.ipv6 ↗.mld ↗.robustnessVariable

int

2

loss tolerance; only supplies the defaults of the three params marked (RV) below

upf_mec.ipv6 ↗.mld ↗.queryInterval

double

125s

querier: interval between periodic General Queries

upf_mec.ipv6 ↗.mld ↗.queryResponseInterval

double

10s

querier: max delay a host may wait before answering a General Query

upf_mec.ipv6 ↗.mld ↗.multicastListenerInterval

double

(robustnessVariable * queryInterval) + queryResponseInterval

querier: how long a group stays “has listeners” without a new Report (RV)

upf_mec.ipv6 ↗.mld ↗.startupQueryInterval

double

queryInterval / 4

querier: interval between the initial General Queries at startup

upf_mec.ipv6 ↗.mld ↗.startupQueryCount

int

robustnessVariable

querier: number of General Queries sent at startup (RV)

upf_mec.ipv6 ↗.mld ↗.lastListenerQueryInterval

double

1s

querier: interval between the group-specific Queries sent after a Done

upf_mec.ipv6 ↗.mld ↗.lastListenerQueryCount

int

robustnessVariable

querier: number of group-specific Queries sent after a Done (RV)

upf_mec.nl ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.nl ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.nl ↗.forwardServiceRegistration

bool

true

upf_mec.nl ↗.forwardProtocolRegistration

bool

true

upf_mec.nl ↗.interfaceMapping

object

{}

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

upf_mec.nl ↗.serviceMapping

object

{}

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

upf_mec.nl ↗.protocolMapping

object

{}

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

upf_mec.udp ↗.displayStringTextFormat

string

“passed up: {numPassedUp} pks\nsent: {numSent} pks{udpDroppedText}”

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

upf_mec.udp ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.udp ↗.checksumMode

string

“declared”

upf_mec.udp ↗.defaultMulticastLoop

bool

true

upf_mec.tcp ↗.displayStringTextFormat

string

“”

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

upf_mec.tcp ↗.checksumMode

string

“declared”

upf_mec.tcp ↗.advertisedWindow

int

14 * this.mss

In bytes, corresponds with the maximal receiver buffer capacity (Note: normally, NIC queues should be at least this size)

upf_mec.tcp ↗.delayedAcksEnabled

bool

false

Delayed ACK algorithm (RFC 1122) enabled/disabled

upf_mec.tcp ↗.nagleEnabled

bool

true

Nagle’s algorithm (RFC 896) enabled/disabled

upf_mec.tcp ↗.limitedTransmitEnabled

bool

false

Limited Transmit algorithm (RFC 3042) enabled/disabled (can be used for TcpReno/TcpTahoe/TcpNewReno/TcpNoCongestionControl)

upf_mec.tcp ↗.increasedIWEnabled

bool

false

Increased Initial Window (RFC 3390) enabled/disabled

upf_mec.tcp ↗.sackSupport

bool

false

Selective Acknowledgment (RFC 2018, 2883, 3517) support (header option) (SACK will be enabled for a connection if both endpoints support it)

upf_mec.tcp ↗.windowScalingSupport

bool

false

Window Scale (RFC 1323) support (header option) (WS will be enabled for a connection if both endpoints support it)

upf_mec.tcp ↗.windowScalingFactor

int

-1

Window Scaling Factor given as a shift count. Valid values are 0..14, and -1 for automatic selection (it chooses the smallest shift count that makes advertisedWindow representable in 16 bits)

upf_mec.tcp ↗.timestampSupport

bool

false

Timestamps (RFC 1323) support (header option) (TS will be enabled for a connection if both endpoints support it)

upf_mec.tcp ↗.mss

int

536

Maximum Segment Size (header option). Default 536 per RFC 1122.

upf_mec.tcp ↗.msl

int

120s

Maximum Segment Lifetime

upf_mec.tcp ↗.tcpAlgorithmClass

string

“TcpReno”

upf_mec.tcp ↗.dupthresh

int

3

Used for TcpTahoe, TcpReno, and SACK (RFC 3517) DO NOT change unless you really know what you are doing

upf_mec.tcp ↗.initialSsthresh

int

0xFFFFFFFF

Initial value for Slow Start threshold used in TahoeRenoFamily. The initial value of ssthresh SHOULD be set arbitrarily high (e.g., to the size of the largest possible advertised window) Without user interaction there is no limit…

upf_mec.tcp ↗.stopOperationExtraTime

double

0s

Extra time after lifecycle stop operation finished

upf_mec.tcp ↗.stopOperationTimeout

double

2s

Timeout value for lifecycle stop operation

upf_mec.tcp ↗.ecnWillingness

bool

false

True if willing to use ECN

upf_mec.tcp ↗.dctcpGamma

double

0.0625

A fixed estimation gain for calculating dctcp_alpha (RFC 8257 4.2)

upf_mec.tcp ↗.pmtudEnabled

bool

false

Path MTU Discovery (RFC 1191, RFC 1981) enabled/disabled

upf_mec.tcp ↗.pmtudTimeout

double

600s

Time after which the original MSS is restored to probe for increased path MTU (RFC 1191, Section 6.3)

upf_mec.sctp ↗.displayStringTextFormat

string

“”

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

upf_mec.sctp ↗.interfaceTableModule

string

upf_mec.sctp ↗.routingTableModule

string

upf_mec.sctp ↗.checksumMode

string

“declared”

upf_mec.sctp ↗.numGapReports

int

3

upf_mec.sctp ↗.rtoInitial

double

3s

upf_mec.sctp ↗.rtoMin

double

1s

upf_mec.sctp ↗.rtoMax

double

60s

upf_mec.sctp ↗.rtoAlpha

double

0.125

upf_mec.sctp ↗.rtoBeta

double

0.250

upf_mec.sctp ↗.maxBurst

int

4

upf_mec.sctp ↗.maxBurstVariant

string

“maxBurst”

upf_mec.sctp ↗.initialWindow

int

0

upf_mec.sctp ↗.assocMaxRetrans

int

10

upf_mec.sctp ↗.pathMaxRetrans

int

5

upf_mec.sctp ↗.maxInitRetrans

int

8

upf_mec.sctp ↗.sackPeriod

double

200ms

upf_mec.sctp ↗.sackFrequency

int

2

upf_mec.sctp ↗.reactivatePrimaryPath

bool

false

upf_mec.sctp ↗.sendQueueLimit

int

0

upf_mec.sctp ↗.validCookieLifetime

double

10s

upf_mec.sctp ↗.enableHeartbeats

bool

true

upf_mec.sctp ↗.hbInterval

double

30s

upf_mec.sctp ↗.sendHeartbeatsOnActivePaths

bool

false

upf_mec.sctp ↗.nagleEnabled

bool

true

upf_mec.sctp ↗.naglePoint

int

1468

upf_mec.sctp ↗.fragPoint

int

1452

Size of a message that has to be fragmented, i.e. maximum size of a fragment

upf_mec.sctp ↗.fastRecoverySupported

bool

true

upf_mec.sctp ↗.sctpAlgorithmClass

string

“SctpAlg”

upf_mec.sctp ↗.ccModule

int

0

RFC4960=0

upf_mec.sctp ↗.osbWithHeader

bool

false

upf_mec.sctp ↗.RTXMethod

int

0

0=Once after 3 Sacks; 1=once per RTT; 2=Switch off Fast Retransmit; 3=Always after 3 Sacks

upf_mec.sctp ↗.ssModule

int

0

ROUND_ROBIN=0

upf_mec.sctp ↗.arwnd

int

65535

upf_mec.sctp ↗.swsLimit

int

3000

Limit for SWS

upf_mec.sctp ↗.udpEncapsEnabled

bool

false

upf_mec.sctp ↗.natFriendly

bool

false

upf_mec.sctp ↗.bytesToAddPerRcvdChunk

int

0

For flow control

upf_mec.sctp ↗.bytesToAddPerPeerChunk

int

0

For flow control

upf_mec.sctp ↗.tellArwnd

bool

false

For flow control

upf_mec.sctp ↗.messageAcceptLimit

int

0

For flow control

upf_mec.sctp ↗.fairStart

double

0s

upf_mec.sctp ↗.fairStop

double

0s

upf_mec.sctp ↗.streamsToPaths

string

“”

upf_mec.sctp ↗.startEndToEndDelay

int

0

upf_mec.sctp ↗.stopEndToEndDelay

int

10

upf_mec.sctp ↗.throughputInterval

double

1

upf_mec.sctp ↗.auth

bool

false

upf_mec.sctp ↗.chunks

string

“”

upf_mec.sctp ↗.padding

bool

false

upf_mec.sctp ↗.addIP

bool

false

upf_mec.sctp ↗.addTime

double

0s

upf_mec.sctp ↗.addAddress

string

“”

upf_mec.sctp ↗.addIpType

string

“0”

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

upf_mec.sctp ↗.packetDrop

bool

false

upf_mec.sctp ↗.sackNow

bool

false

upf_mec.sctp ↗.highSpeedCC

bool

false

upf_mec.sctp ↗.checkSackSeqNumber

bool

false

upf_mec.sctp ↗.nrSack

bool

false

upf_mec.sctp ↗.disableReneging

bool

false

upf_mec.sctp ↗.gapReportLimit

int

100000000

upf_mec.sctp ↗.gapListOptimizationVariant

string

“none”

upf_mec.sctp ↗.smartOverfullSACKHandling

bool

false

upf_mec.sctp ↗.allowQoSTracking

bool

false

upf_mec.sctp ↗.qosTrackingInterval

double

1.0s

upf_mec.sctp ↗.cmtSendAllVariant

string

“normal”

upf_mec.sctp ↗.cmtRetransmissionVariant

string

“normal”

upf_mec.sctp ↗.cmtCUCVariant

string

“normal”

upf_mec.sctp ↗.cmtBufferSplitVariant

string

“none”

upf_mec.sctp ↗.cmtBufferSplittingUsesOSB

bool

false

upf_mec.sctp ↗.cmtUseSFR

bool

true

upf_mec.sctp ↗.cmtUseDAC

bool

true

upf_mec.sctp ↗.cmtUseFRC

bool

true

upf_mec.sctp ↗.cmtSmartT3Reset

bool

true

upf_mec.sctp ↗.cmtSmartFastRTX

bool

true

upf_mec.sctp ↗.cmtSmartReneging

bool

false

upf_mec.sctp ↗.cmtSlowPathRTTUpdate

bool

false

upf_mec.sctp ↗.cmtChunkReschedulingVariant

string

“none”

upf_mec.sctp ↗.cmtChunkReschedulingThreshold

double

0.5

upf_mec.sctp ↗.cmtMovedChunksReduceCwnd

bool

true

upf_mec.sctp ↗.movedChunkFastRTXFactor

double

2.0

upf_mec.sctp ↗.cmtSackPath

string

“standard”

upf_mec.sctp ↗.strictCwndBooking

bool

false

upf_mec.sctp ↗.cmtCCVariant

string

“off”

CMT Congestion Control Variant off = use over every path the default RFC4960 CC (New Reno) lia = First resource pooling congestion control RFC6356 adapted for SCTP - https://datatracker.ietf.org/doc/rfc6356/ olia = alternative MPTCP CC, adapted for SCTP- https://tools.ietf.org/html/draft-khalili-mptcp-congestion-control-05 cmtrpv1 = First resource pooling based CC for SCTP - https://www.tdr.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/SCTP/Paper/AINA2010.pdf cmtrpv2 = Updated version of cmtrpv1 - https://www.tdr.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/SCTP/Paper/ConTEL2011.pdf

upf_mec.sctp ↗.cmtCCPathGroups

string

“”

upf_mec.sctp ↗.rpPathBlocking

bool

false

upf_mec.sctp ↗.rpScaleBlockingTimeout

bool

false

upf_mec.sctp ↗.rpMinCwnd

int

1

upf_mec.quic ↗.displayStringTextFormat

string

“”

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

upf_mec.quic ↗.routingTableModule

string

Set by StandardHost.

upf_mec.quic ↗.sendZeroRttTokenAsServer

bool

false

upf_mec.quic ↗.congestionControl

string

“NewReno”

Sets the congestion control algorithm (NewReno or No).

upf_mec.quic ↗.accurateIncreaseInNewRenoCongestionAvoidance

bool

true

For NewReno in Congestion Avoidance, if true, increases cwnd after cwnd-acked bytes; if false, increases cwnd on every acked packet by acked_bytes/cwnd.

upf_mec.quic ↗.sendQueueLimit

int

64MB

Sets the limit of the send queue in bytes.

upf_mec.quic ↗.sendQueueLowWaterRatio

double

.4

Defines the send queue low water mark relative to the limit.

upf_mec.quic ↗.initialMaxData

int

15MB

Connection level flow control credit. Used as own and peer’s value.

upf_mec.quic ↗.initialMaxStreamData

int

6MB

Stream level flow control credit for any stream (unidirectional, bidirectional local and remote). Used as own and peer’s value.

upf_mec.quic ↗.maxDataFrameThreshold

double

0.5*initialMaxData

Defines when MaxDataFrame in ConnectionFlowControl will be send.

upf_mec.quic ↗.maxStreamDataFrameThreshold

double

0.5*initialMaxStreamData

Defines when MaxStreamDataFrame in StreamFlowControl will be send.

upf_mec.quic ↗.roundConsumedDataValue

bool

false

If true, FlowControlResponder rounds consumedData in streamRcvBuffer to the next packetSize.

upf_mec.quic ↗.sendMaxDataFramesImmediately

bool

false

If true, a MAX_(STREAM)_DATA frame is sent immediately, after generation. Otherwise, sending the frame is delayed until the sending process starts due to another event.

upf_mec.quic ↗.bundleAckForNonAckElicitingPackets

bool

false

If true, bundles ack for non-ack-eliciting packets in an outgoing packet.

upf_mec.quic ↗.numReceivedAckElicitingsBeforeAck

int

2

Number of ack eliciting packets a receiver waits for, before it sends an ACK, immediately.

upf_mec.quic ↗.useIBit

bool

false

If true, an ACK frame is sent immediately upon an ack-eliciting packet with the I-Bit set.

upf_mec.quic ↗.useDplpmtud

bool

false

If true, uses DPLPMTUD (RFC8899) to determine the PMTU.

upf_mec.quic ↗.maxPmtu

int

65535B

With useDplpmtud, it is used as upper limit for the PMTU search. Without useDplpmtud, the PMTU is set to the minimum of the MTU of the outgoing interface and this value.

upf_mec.quic ↗.dplpmtudMinPmtu

int

0

Specifies the minimum PMTU to use (if 0, it uses 1200 B for IPv4 or 1280 B for IPv6 as minimum PMTU).

upf_mec.quic ↗.dplpmtudMaxProbes

int

3

Specifies the number of probe packet sent for one candidate before given up.

upf_mec.quic ↗.dplpmtudUsePtb

bool

true

If true, uses ICMP Packet Too Big (PTB) messages for DPLPMTUD.

upf_mec.quic ↗.dplpmtudCandidateSequence

string

“OptBinary”

Specifies the sequence of candidates used for the search algorithm of DPLPMTUD (Up, Down, OptUp, Binary, OptBinary, Jump).

upf_mec.quic ↗.skipPacketNumberForDplpmtudProbePackets

bool

false

Specifies whether to skip a packet number for a DPLPMTUD probe packet in order to avoid ack delay.

upf_mec.quic ↗.useCwndForParallelProbes

int

0

If 0, no parallel probe packets; if 1, uses the availbale cwnd to send additional probe packets and if 2 prefers to send probe packets over other packets.

upf_mec.quic ↗.sendDataDuringInitalDplpmtudBase

bool

true

If false, waits for DPLPMTUD switching initially to SEARCH before start sending application data.

upf_mec.quic ↗.dplpmtudUsePmtuValidator

bool

true

If true, activates the PMTU Validator that trys to detect when the current PMTU estimation is larger than the actual PMTU.

upf_mec.quic ↗.pmtuValidatorLostPacketsThreshold

int

2

Specifies the number of lost data packets before assuming a decreased PMTU.

upf_mec.quic ↗.pmtuValidatorTimeThreshold

double

-1s

Specifies the time threshold between two lost packets. If negative, pmtuValidatorSrttFactorThreshold is used instead.

upf_mec.quic ↗.pmtuValidatorSrttFactorThreshold

int

1

If pmtuValidatorTimeThreshold is negative, this number multiplied by SRTT is used instead.

upf_mec.quic ↗.pmtuValidatorInvalidOnPersistentCongestion

int

1

If 0, disabled. If 1, the PMTU validator uses persistent congeation as signal for a decreased PMTU. If 2, only two consecutive persisten congestions used as signal. If 3, …

upf_mec.quic ↗.reducePacketTimeThreshold

double

0s

Specifies after which time with no acks, packets with reduced size are sent. If zero, packet size reduction is disabled. If negative, reducePacketPtoFactorThreshold is used instead.

upf_mec.quic ↗.reducePacketPtoFactorThreshold

int

3

If reducePacketTimeThreshold is negative, this number multiplied by PTO is used instead.

upf_mec.tn ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.tn ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.tn ↗.forwardServiceRegistration

bool

true

upf_mec.tn ↗.forwardProtocolRegistration

bool

true

upf_mec.tn ↗.interfaceMapping

object

{}

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

upf_mec.tn ↗.serviceMapping

object

{}

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

upf_mec.tn ↗.protocolMapping

object

{}

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

upf_mec.at ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.at ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.at ↗.forwardServiceRegistration

bool

true

upf_mec.at ↗.forwardProtocolRegistration

bool

true

upf_mec.at ↗.interfaceMapping

object

{}

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

upf_mec.at ↗.serviceMapping

object

{}

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

upf_mec.at ↗.protocolMapping

object

{}

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

upf_mec.dnPpp ↗.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

upf_mec.dnPpp ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

upf_mec.dnPpp ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

upf_mec.dnPpp ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

upf_mec.dnPpp ↗.pcapRecorder ↗.pcapFile

string

“”

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

upf_mec.dnPpp ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

upf_mec.dnPpp ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

upf_mec.dnPpp ↗.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).

upf_mec.dnPpp ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

upf_mec.dnPpp ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

upf_mec.dnPpp ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

upf_mec.dnPpp ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

upf_mec.dnPpp ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.dnPpp ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

upf_mec.dnPpp ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

upf_mec.dnPpp ↗.queue ↗.displayStringTextFormat

string

“contains %p pk (%l) pushed %u\npulled %o removed %r dropped %d”

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

upf_mec.dnPpp ↗.queue ↗.packetCapacity

int

10000

Maximum number of packets in the queue, no limit by default

upf_mec.dnPpp ↗.queue ↗.dataCapacity

int

-1b

Maximum total length of packets in the queue, no limit by default

upf_mec.dnPpp ↗.queue ↗.dropperClass

string

“inet::queueing::PacketAtCollectionEndDropper”

Determines which packets are dropped when the queue is overloaded, packets are not dropped by default; the parameter must be the name of a C++ class which implements the IPacketDropperFunction C++ interface and is registered via Register_Class

upf_mec.dnPpp ↗.queue ↗.comparatorClass

string

“”

Determines the order of packets in the queue, insertion order by default; the parameter must be the name of a C++ class which implements the IPacketComparatorFunction C++ interface and is registered via Register_Class

upf_mec.dnPpp ↗.queue ↗.bufferModule

string

“”

Relative module path to the IPacketBuffer module used by this queue, implicit buffer by default

upf_mec.dnPpp ↗.ppp ↗.displayStringTextFormat

string

“rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d”

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

upf_mec.dnPpp ↗.ppp ↗.interfaceTableModule

string

The path to the InterfaceTable module

upf_mec.dnPpp ↗.ppp ↗.sendRawBytes

bool

false

When true packets are serialized into a sequence of bytes before sending out

upf_mec.dnPpp ↗.ppp ↗.mtu

int

4470B

upf_mec.dnPpp ↗.ppp ↗.stopOperationExtraTime

double

-1s

Extra time after lifecycle stop operation finished

upf_mec.dnPpp ↗.ppp ↗.stopOperationTimeout

double

2s

Timeout value for lifecycle stop operation

upf_mec.relay.trafficFlowFilter.binderModule

string

“binder”

upf_mec.relay.trafficFlowFilter.fastForwarding

bool

true

upf_mec.relay.gtpUser.binderModule

string

“binder”

upf_mec.relay.gtpUser.localPort

int

31

upf_mec.relay.gtpUser.tunnelPeerPort

int

31

upf_mec.rd ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.rd ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.rd ↗.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

upf_mec.nodeControl.binderModule

string

“binder”

upf_mec.nodeControl.gtpUserModule

string

“^.relay.gtpUser”

upf_mec.nodeControl.trafficFlowFilterModule

string

“^.relay.trafficFlowFilter”

upf_mec.nodeControl.ethernetBridgeModule

string

“^.ethBridge.sessionMux”

The node’s Ethernet session bridge (see EthernetSessionBridge), if it has one

upf_mec.nodeControl.unstructuredPrefix

string

“”

The prefix the N6 addresses of Unstructured sessions are allocated from, e.g. “2001:db8:5::/64” or “10.5.0.0/16”; empty = the node anchors no Unstructured session (see the main comment)

upf_mec.nodeControl.unstructuredServer

string

“”

The application server the Unstructured sessions’ uplink goes to: a module path relative to the network, resolved in the family of unstructuredPrefix

upf_mec.nodeControl.unstructuredServerPort

int

-1

The UDP port of unstructuredServer the uplink goes to; must be set for Unstructured sessions

upf_mec.nodeControl.unstructuredPort

int

-1

The UDP port the node receives the Unstructured sessions’ downlink on, and sends their uplink from; must be set for Unstructured sessions

upf_mec.ndResponder.binderModule

string

“binder”

upf_mec.ndResponder.linkLocalAddress

string

“fe80::1”

The router’s address on every session’s link

upf_mec.ndResponder.routerLifetime

double

9000s

Router Lifetime in the Router Advertisements (max 9000s, RFC 4861)

upf_mec.ndResponder.curHopLimit

int

64

Cur Hop Limit in the Router Advertisements (0 = unspecified)

upf_mec.ndResponder.checksumMode

string

“declared”

upf_mec.ethBridge.macTable ↗.displayStringTextFormat

string

“addr: %a\nvlan: %v”

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

upf_mec.ethBridge.macTable ↗.agingTime

double

120s

upf_mec.ethBridge.macTable ↗.forwardingTable

object

[]

upf_mec.ethBridge.macTable ↗.forwardingTableFile

string

“”

upf_mec.ethBridge.macTable ↗.interfaceTableModule

string

upf_mec.ethBridge.interfaceTable ↗.displayStringTextFormat

string

“{numInterfaces} interfaces”

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

upf_mec.ethBridge.interfaceTable ↗.displayAddresses

bool

false

Whether to display IP addresses on links

upf_mec.ethBridge.sessionMux.interfaceTableModule

string

The bridge’s interface table, which the session ports are registered in

upf_mec.ethBridge.sessionMux.macTableModule

string

The bridge’s MAC table, flushed of a released session’s port

upf_mec.ethBridge.sessionMux.portModuleType

string

“simu5g.corenetwork.ethernetSessionBridge.EthernetSessionPort”

The module type of the session ports

upf_mec.ethBridge.sessionMux.portDisplayString

string

“p=500,420,row,100;g=sessionPorts”

Display string of the session ports (their place in the bridge’s layout)

upf_mec.ethBridge.cb ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.cb ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.ethBridge.cb ↗.forwardServiceRegistration

bool

true

upf_mec.ethBridge.cb ↗.forwardProtocolRegistration

bool

true

upf_mec.ethBridge.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

upf_mec.ethBridge.cb ↗.serviceMapping

object

{}

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

upf_mec.ethBridge.cb ↗.protocolMapping

object

{}

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

upf_mec.ethBridge.bridging ↗.directionReverser ↗.fork ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.bridging ↗.directionReverser ↗.fork ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.ethBridge.bridging ↗.directionReverser ↗.fork ↗.forwardProtocolRegistration

bool

true

upf_mec.ethBridge.bridging ↗.directionReverser ↗.fork ↗.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

upf_mec.ethBridge.bridging ↗.directionReverser ↗.fork ↗.serviceMapping

object

{}

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

upf_mec.ethBridge.bridging ↗.directionReverser ↗.fork ↗.protocolMapping

object

{}

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

upf_mec.ethBridge.bridging ↗.directionReverser ↗.reverser ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.bridging ↗.directionReverser ↗.reverser ↗.forwardVlan

bool

true

upf_mec.ethBridge.bridging ↗.directionReverser ↗.reverser ↗.forwardPcp

bool

true

upf_mec.ethBridge.bridging ↗.directionReverser ↗.reverser ↗.excludeEncapsulationProtocols

object

[]

upf_mec.ethBridge.bridging ↗.directionReverser ↗.join ↗.displayStringTextFormat

string

“passed %p pk (%l)”

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

upf_mec.ethBridge.bridging ↗.directionReverser ↗.join ↗.forwardServiceRegistration

bool

true

upf_mec.ethBridge.bridging ↗.interfaceRelay ↗.learner ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.bridging ↗.interfaceRelay ↗.learner ↗.macTableModule

string

Relative module path of MAC table

upf_mec.ethBridge.bridging ↗.interfaceRelay ↗.learner ↗.interfaceTableModule

string

Relative module path of the interface table

upf_mec.ethBridge.bridging ↗.interfaceRelay ↗.selector ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.bridging ↗.interfaceRelay ↗.selector ↗.macTableModule

string

Relative module path of MAC table

upf_mec.ethBridge.bridging ↗.interfaceRelay ↗.selector ↗.interfaceTableModule

string

Relative module path of interface table

upf_mec.ethBridge.bl ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.bl ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.ethBridge.bl ↗.forwardServiceRegistration

bool

true

upf_mec.ethBridge.bl ↗.forwardProtocolRegistration

bool

true

upf_mec.ethBridge.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

upf_mec.ethBridge.bl ↗.serviceMapping

object

{}

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

upf_mec.ethBridge.bl ↗.protocolMapping

object

{}

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

upf_mec.ethBridge.ethernet ↗.socketTable ↗.displayStringTextFormat

string

“”

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

upf_mec.ethBridge.ethernet ↗.socketCommandProcessor ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.ethernet ↗.socketCommandProcessor ↗.socketTableModule

string

upf_mec.ethBridge.ethernet ↗.macHeaderInserter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.ethernet ↗.macHeaderInserter ↗.interfaceTableModule

string

upf_mec.ethBridge.ethernet ↗.paddingInserter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.ethernet ↗.paddingInserter ↗.minLength

int

upf_mec.ethBridge.ethernet ↗.paddingInserter ↗.roundingLength

int

1B

upf_mec.ethBridge.ethernet ↗.paddingInserter ↗.insertionPosition

string

“back”

upf_mec.ethBridge.ethernet ↗.fcsInserter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.ethernet ↗.fcsInserter ↗.fcsMode

string

“declared”

upf_mec.ethBridge.ethernet ↗.socketPacketProcessor ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.ethernet ↗.socketPacketProcessor ↗.socketTableModule

string

upf_mec.ethBridge.ethernet ↗.macHeaderChecker ↗.displayStringTextFormat

string

“dropped {numDroppedPackets}/{numProcessedPackets} pk ({droppedTotalLength}/{processedTotalLength})”

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

upf_mec.ethBridge.ethernet ↗.macHeaderChecker ↗.backpressure

bool

false

upf_mec.ethBridge.ethernet ↗.macHeaderChecker ↗.interfaceTableModule

string

upf_mec.ethBridge.ethernet ↗.macHeaderChecker ↗.promiscuous

bool

false

upf_mec.ethBridge.ethernet ↗.fcsChecker ↗.displayStringTextFormat

string

“dropped {numDroppedPackets}/{numProcessedPackets} pk ({droppedTotalLength}/{processedTotalLength})”

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

upf_mec.ethBridge.ethernet ↗.fcsChecker ↗.backpressure

bool

false

upf_mec.ethBridge.ethernet ↗.fcsChecker ↗.popFcs

bool

true

upf_mec.ethBridge.ieee8021q ↗.socketTable ↗.displayStringTextFormat

string

“”

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

upf_mec.ethBridge.ieee8021q ↗.socketCommandProcessor ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.ieee8021q ↗.socketCommandProcessor ↗.socketTableModule

string

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderInserter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderInserter ↗.vlanTagType

string

“c”

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderInserter ↗.nextProtocol

string

“ethernetmac”

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderInserter ↗.defaultVlanId

int

-1

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderInserter ↗.defaultPcp

int

-1

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderInserter ↗.defaultUserPriority

int

-1

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderInserter ↗.defaultDropEligible

int

-1

<0: unspecified, 0: false, >0: true

upf_mec.ethBridge.ieee8021q ↗.socketPacketProcessor ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.ieee8021q ↗.socketPacketProcessor ↗.socketTableModule

string

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderChecker ↗.displayStringTextFormat

string

“dropped {numDroppedPackets}/{numProcessedPackets} pk ({droppedTotalLength}/{processedTotalLength})”

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

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderChecker ↗.backpressure

bool

false

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderChecker ↗.vlanTagType

string

“c”

upf_mec.ethBridge.ieee8021q ↗.qTagHeaderChecker ↗.vlanIdFilter

object

[]

upf_mec.ethBridge.li ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.ethBridge.li ↗.interfaceTableModule

string

Module path to the InterfaceTable ↗ module

upf_mec.ethBridge.li ↗.forwardServiceRegistration

bool

true

upf_mec.ethBridge.li ↗.forwardProtocolRegistration

bool

true

upf_mec.ethBridge.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

upf_mec.ethBridge.li ↗.serviceMapping

object

{}

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

upf_mec.ethBridge.li ↗.protocolMapping

object

{}

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

upf_mec.dnEth ↗.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

upf_mec.dnEth ↗.pcapRecorder ↗.verbose

bool

true

Whether to log packets on the module output

upf_mec.dnEth ↗.pcapRecorder ↗.recordEmptyPackets

bool

true

Specifies if zero length packets are recorded or not

upf_mec.dnEth ↗.pcapRecorder ↗.enableConvertingPackets

bool

true

Specifies if converting packets to link type is allowed or not

upf_mec.dnEth ↗.pcapRecorder ↗.pcapFile

string

“”

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

upf_mec.dnEth ↗.pcapRecorder ↗.fileFormat

string

“pcapng”

upf_mec.dnEth ↗.pcapRecorder ↗.snaplen

int

65535

Maximum number of bytes to record per packet

upf_mec.dnEth ↗.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).

upf_mec.dnEth ↗.pcapRecorder ↗.dumpBadFrames

bool

true

Enable dump of frames with hasBitError

upf_mec.dnEth ↗.pcapRecorder ↗.sendingSignalNames

string

“transmissionEnded”

Space-separated list of outbound packet signals to subscribe to

upf_mec.dnEth ↗.pcapRecorder ↗.receivingSignalNames

string

“receptionEnded”

Space-separated list of inbound packet signals to subscribe to

upf_mec.dnEth ↗.pcapRecorder ↗.dumpProtocols

string

“ethernetmac ppp ieee80211mac”

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

upf_mec.dnEth ↗.pcapRecorder ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.dnEth ↗.pcapRecorder ↗.helpers

string

“”

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype

upf_mec.dnEth ↗.pcapRecorder ↗.alwaysFlush

bool

false

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

upf_mec.dnEth ↗.macLayer ↗.queue ↗.displayStringTextFormat

string

“contains %p pk (%l) pushed %u\npulled %o removed %r dropped %d”

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

upf_mec.dnEth ↗.macLayer ↗.queue ↗.packetCapacity

int

-1

Maximum number of packets in the queue, no limit by default

upf_mec.dnEth ↗.macLayer ↗.queue ↗.dataCapacity

int

-1b

Maximum total length of packets in the queue, no limit by default

upf_mec.dnEth ↗.macLayer ↗.queue ↗.dropperClass

string

“”

Determines which packets are dropped when the queue is overloaded, packets are not dropped by default; the parameter must be the name of a C++ class which implements the IPacketDropperFunction C++ interface and is registered via Register_Class

upf_mec.dnEth ↗.macLayer ↗.queue ↗.comparatorClass

string

“”

Determines the order of packets in the queue, insertion order by default; the parameter must be the name of a C++ class which implements the IPacketComparatorFunction C++ interface and is registered via Register_Class

upf_mec.dnEth ↗.macLayer ↗.queue ↗.bufferModule

string

“”

Relative module path to the IPacketBuffer module used by this queue, implicit buffer by default

upf_mec.dnEth ↗.macLayer ↗.server ↗.displayStringTextFormat

string

“served %p pk (%l)”

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

upf_mec.dnEth ↗.macLayer ↗.server ↗.serveSchedulingPriority

int

0

Specifies the FES scheduling priority for the extra event that is pulling the packet, -1 means no extra event

upf_mec.dnEth ↗.macLayer ↗.outboundEmitter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.dnEth ↗.macLayer ↗.outboundEmitter ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.dnEth ↗.macLayer ↗.outboundEmitter ↗.direction

string

“undefined”

upf_mec.dnEth ↗.macLayer ↗.outboundEmitter ↗.signalName

string

upf_mec.dnEth ↗.macLayer ↗.fcsChecker ↗.displayStringTextFormat

string

“dropped {numDroppedPackets}/{numProcessedPackets} pk ({droppedTotalLength}/{processedTotalLength})”

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

upf_mec.dnEth ↗.macLayer ↗.fcsChecker ↗.backpressure

bool

false

upf_mec.dnEth ↗.macLayer ↗.fcsChecker ↗.popFcs

bool

false

upf_mec.dnEth ↗.macLayer ↗.inboundEmitter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.dnEth ↗.macLayer ↗.inboundEmitter ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.dnEth ↗.macLayer ↗.inboundEmitter ↗.direction

string

“undefined”

upf_mec.dnEth ↗.macLayer ↗.inboundEmitter ↗.signalName

string

upf_mec.dnEth ↗.phyLayer ↗.phyHeaderInserter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.dnEth ↗.phyLayer ↗.interFrameGapInserter ↗.displayStringTextFormat

string

“delayed %p pk (%l)\nifg: %g”

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

upf_mec.dnEth ↗.phyLayer ↗.interFrameGapInserter ↗.clockModule

string

“”

Relative path of a module that implements IClock; optional

upf_mec.dnEth ↗.phyLayer ↗.interFrameGapInserter ↗.initialChannelBusy

bool

false

Assume that the channel was busy before the simulation started

upf_mec.dnEth ↗.phyLayer ↗.interFrameGapInserter ↗.duration

double

96s / dropUnit(parent.bitrate)

upf_mec.dnEth ↗.phyLayer ↗.outboundEmitter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.dnEth ↗.phyLayer ↗.outboundEmitter ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.dnEth ↗.phyLayer ↗.outboundEmitter ↗.direction

string

“undefined”

upf_mec.dnEth ↗.phyLayer ↗.outboundEmitter ↗.signalName

string

upf_mec.dnEth ↗.phyLayer ↗.transmitter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.dnEth ↗.phyLayer ↗.transmitter ↗.clockModule

string

“”

Relative path of a module that implements IClock; optional

upf_mec.dnEth ↗.phyLayer ↗.transmitter ↗.datarate

double

parent.bitrate

upf_mec.dnEth ↗.phyLayer ↗.phyHeaderChecker ↗.displayStringTextFormat

string

“dropped {numDroppedPackets}/{numProcessedPackets} pk ({droppedTotalLength}/{processedTotalLength})”

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

upf_mec.dnEth ↗.phyLayer ↗.phyHeaderChecker ↗.backpressure

bool

false

upf_mec.dnEth ↗.phyLayer ↗.inboundEmitter ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.dnEth ↗.phyLayer ↗.inboundEmitter ↗.packetFilter

object

“*”

Which packets are considered, matches all packets by default

upf_mec.dnEth ↗.phyLayer ↗.inboundEmitter ↗.direction

string

“undefined”

upf_mec.dnEth ↗.phyLayer ↗.inboundEmitter ↗.signalName

string

upf_mec.dnEth ↗.phyLayer ↗.receiver ↗.displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

upf_mec.dnEth ↗.phyLayer ↗.receiver ↗.datarate

double

parent.bitrate

Source code

//
// Represents a model of a Multi-access Edge Computing (MEC) host
// belonging to a MEC system, as specified by the ETSI GS MEC 003 specifications. It runs
// MEC applications within its ~VirtualisationInfrastructure and can provide a number of
// MEC services via the MEC platform. MEC applications can be created either dynamically by
// the MEC orchestrator or statically at the initialization of the simulation. The MEC host
// possesses a configurable number of computing resources (such as CPU speed, RAM, and storage)
// and keeps track of the utilization of these resources by the MEC applications via the
// ~VirtualisationInfrastructureManager. Moreover, this module includes a User Plane
// Function (UPF) that allows it to be connected with the 5G core network.
//
module MecHost
{
    parameters:
        @display("i=device/server2;bgb=1000,500");

        //# Node specs
        string nodeType = "MecHost";                                         // DO NOT CHANGE
        string gateway = default("upf");

        //# ME Host Resources
        int maxMecApps = default(0);
        double maxRam @unit("B") = default(32GB);
        double maxDisk @unit("B") = default(100TB);
        double maxCpuSpeed = default(300000);         // CPU's clock speed in millions of instructions per second (MIPS)

        int numBgMecApps = default(0);
        int numIndependentMecApp = default(0);

        //# List of base stations associated with the MEC host
        // This is a string of comma-separated values
        object bsList = default([]);

    gates:
        // To local radio networks
        inout ppp[];

        // To external networks (internet)
        inout pppIf[];

    submodules:

        virtualisationInfrastructure: VirtualisationInfrastructure {
            parameters:
                @display("p=500,400");
                gateway = parent.gateway;
        }

        mecPlatform: MecPlatform {
            parameters:
                @display("p=573,158");
        }

        mecPlatformManager: MecPlatformManager {
            parameters:
                @display("p=865,116;is=m");
        }

        vim: VirtualisationInfrastructureManager {
            parameters:
                @display("p=865,224;is=m");
        }

        // UPF module used to connect the MEC host to the 5G Core Network (either a BS or a UPF)
        upf_mec: Upf {
            parameters:
                @display("p=150,400");
                nodeType = "UPF_MEC";
                gateway = parent.gateway;
        }

        bgApp[numBgMecApps]: BackgroundApp {
            @display("p=865,326,row,140");
        }

        independentMecApp[numIndependentMecApp]: <> like IApp {
            @display("p=371,156,row,140");
        }

    connections allowunconnected:

        for i=0..sizeof(ppp)-1 {
            ppp++ <--> upf_mec.pppg++;
        }

        for i=0..sizeof(pppIf)-1 {
            //#
            //# external connection to external networks
            //#
            virtualisationInfrastructure.ppp++ <--> pppIf++;
        }

        //#
        //# internal connection between GtpEndpoint and VirtualisationInfrastrcuture
        //#
        virtualisationInfrastructure.ppp++ <--> Eth10G <--> upf_mec.dnPppg;

        for i=0..numIndependentMecApp-1 {
            independentMecApp[i].socketIn <-- virtualisationInfrastructure.independentMecAppOut[i];
            independentMecApp[i].socketOut --> virtualisationInfrastructure.independentMecAppIn[i];
        }

        for i=0..mecPlatform.numMecServices {
            virtualisationInfrastructure.mecPlatform++ <--> mecPlatform.virtInfr++;
        }
}

File: src/simu5g/nodes/MecHost.ned