SingleMecHost

Package: simu5g.simulations.nr.mec.singleMecHost

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.

routingRecorder : RoutingTableRecorder
[from inet] ↗

Records changes in the routing tables (~Ipv4RoutingTable) and interface tables (~InterfaceTable) of...

Source:
routingRecorder: RoutingTableRecorder {
    @display("p=690,74;is=s");
} configurator : Ipv4NetworkConfigurator
[from inet] ↗

Assigns IPv4 addresses and sets up static routing for an IPv4 network.

Source:
configurator: Ipv4NetworkConfigurator {
    @display("p=690,124;is=s");
} channelControl : LteChannelControl

Utility module that records the position of each LTE radio module in the network.

Source:
channelControl: LteChannelControl {
    @display("p=690,24;is=s");
} binder : Binder

The Binder module functions as a global repository of network-related information utilized...

Source:
binder: Binder {
    @display("p=690,174;is=s");
} coreControl : CoreControl

The control plane of the core network, one per cellular network alongside its ~Binder and...

Source:
coreControl: CoreControl {
    @display("p=690,374;is=s");
} bearerConfigurator : BearerConfigurator

The network's bearer definitions: the operator's configuration of the data radio bearers, authored...

Source:
bearerConfigurator: BearerConfigurator {
    @display("p=690,224;is=s");
} carrierAggregation : CarrierAggregation

Implements the Carrier Aggregation (CA) functionality used at the Medium Access Control (MAC) layer...

Source:
carrierAggregation: CarrierAggregation {
    @display("p=690,274;is=s");
} upf : Upf

Implements the 5G Core User Plane Function (UPF).

Source:
upf: Upf {
    @display("p=545,250");
} iUpf : Upf

Implements the 5G Core User Plane Function (UPF).

Source:
iUpf: Upf {
    @display("p=352,250");
} gNodeB1 : gNodeB

Implements a gNodeB for a 5G network.

Source:
gNodeB1: gNodeB {
    @display("p=140,250;is=vl");
} ue[numUes] : NrUe

Models a User Equipment (UE) for a 5G/LTE network.

Source:
ue[numUes]: NrUe {
    @display("p=237,310");
} mecHost : MecHost

Represents a model of a Multi-access Edge Computing (MEC) host belonging to a MEC system, as...

Source:
mecHost: MecHost {
    @display("p=352,145;is=l");
} mecOrchestrator : MecOrchestrator

Models the functionalities of the MEC orchestrator within a Multi-access Edge Computing (MEC)...

Source:
mecOrchestrator: MecOrchestrator {
    @display("p=544,63;is=l");
} ualcmp : Ualcmp

Represents a host performing the functions of the User Application Lifecycle Management Proxy...

Source:
ualcmp: Ualcmp {
    @display("p=545,158;i=device/smallrouter");
}

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Parameters

Name Type Default value Description
numUes int 0
playgroundSizeX double

X size of the area the nodes are in (in meters)

playgroundSizeY double

Y size of the area the nodes are in (in meters)

playgroundSizeZ double

Z size of the area the nodes are in (in meters)

Properties

Name Value Description
isNetwork
display i=block/network2;bgb=811,507;bgi=background/pisa

Unassigned submodule parameters

Name Type Default value Description
routingRecorder.displayStringTextFormat string ""

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

routingRecorder.enabled bool true
routingRecorder.logfile string "${resultdir}/${configname}-#${runnumber}.rt"
configurator.displayStringTextFormat string ""

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

configurator.minLinkWeight double 1E-3
configurator.configureIsolatedNetworksSeparatly bool false
configurator.config xml xml("")

XML configuration parameters for IP address assignment and adding manual routes

configurator.assignAddresses bool true

Assign IP addresses to all interfaces in the network

configurator.assignUniqueAddresses bool true

Avoid using the same address and raise an error if not possible

configurator.assignDisjunctSubnetAddresses bool true

Avoid using the same address prefix and netmask on different links when assigning IP addresses to interfaces

configurator.addStaticRoutes bool true

Add static routes to the routing tables of all nodes to route to all destination interfaces (only where applicable; turn off when config file contains manual routes)

configurator.addDefaultRoutes bool true

Add default routes if all routes from a source node go through the same gateway (used only if addStaticRoutes is true)

configurator.addSubnetRoutes bool true

Add subnet routes instead of destination interface routes (only where applicable; used only if addStaticRoutes is true)

configurator.addDirectRoutes bool true

Add direct routes towards local network members (i.e. directly connected interfaces) to the routing table (used only if addStaticRoutes is true)

configurator.addRemoteRoutes bool true

Add routes towards remote (non-directly-connected) destinations via a gateway (used only if addStaticRoutes is true)

configurator.optimizeRoutes bool true

Optimize routing tables by merging routes, the resulting routing table might route more packets than the original (used only if addStaticRoutes is true)

configurator.addManualRoutes bool true

Add manual routes from the XML configuration; independent of addStaticRoutes

configurator.updateRoutes bool false

Recalculate static routes if an interface goes down/up or a carrier is lost/back

configurator.dumpTopology bool false

Print extracted network topology to the module output

configurator.dumpLinks bool false

Print recognized network links to the module output

configurator.dumpAddresses bool false

Print assigned IP addresses for all interfaces to the module output

configurator.dumpRoutes bool false

Print configured and optimized routing tables for all nodes to the module output

configurator.dumpConfig string ""

Write configuration into the given config file that can be fed back to speed up subsequent runs (network configurations)

channelControl.pMax double 20mW

Maximum sending power used for this network (in mW)

channelControl.sat double -110dBm

Signal attenuation threshold (in dBm)

channelControl.alpha double 2

Path loss coefficient

channelControl.carrierFrequency double 2.4GHz

Base carrier frequency of all the channels (in Hz)

channelControl.numChannels int 1

Number of radio channels (frequencies)

binder.blerShift int 0
binder.maxDataRatePerRb double 1.16Mbps
binder.printTrafficGeneratorConfig bool false
coreControl.binderModule string "binder"
coreControl.bearerConfiguratorModule string "bearerConfigurator"
bearerConfigurator.binderModule string "binder"
bearerConfigurator.staticDrbs object []

JSON array: [{coreNetwork, ue, drbId, profile, mappedQfis, filters, lcg, rlcMode, legs, isDefault, suppressSdapHeader, rohc, gbr, packetDelayBudget, packetErrorRate, qosPriorityLevel}, ...]; see banner comment for details

bearerConfigurator.onDemandDrbs object [ // JSON array, staticDrbs schema minus "drbId" (and "ue" optional): bearers created when traffic first matches them; the default value lets both stack kinds run unauthored; see banner comment for details {coreNetwork: "epc", filters: ["VoIP*"], lcg: 0, rlcMode: "UM"}, {coreNetwork: "epc", filters: ["gaming*"], lcg: 2, rlcMode: "UM"}, {coreNetwork: "epc", filters: ["VoDPacket*", "VoDFinishPacket*"], lcg: 1, rlcMode: "UM"}, {coreNetwork: "epc", isDefault: true, lcg: 3, rlcMode: "UM"}, {coreNetwork: "5gc", isDefault: true, suppressSdapHeader: true, lcg: 3, rlcMode: "UM"} ]
bearerConfigurator.drbProfiles object {}

JSON map of named field groups referenced by the staticDrbs entries' "profile" field, e.g. {voice: {rlcMode: "UM", gbr: true, ...}, ...}; see banner comment

bearerConfigurator.dlQfiRules object [{dscpAsQfi: true}]

QFI classification rules, delivered to their evaluation sites (see banner comment)

bearerConfigurator.ulQfiRules object []

JSON array of uplink QFI-assignment rules [{ue, filter, qfi|dscpAsQfi}, ...], delivered to the UEs' QoS-flow classifiers; [] = classify nothing

bearerConfigurator.amPerThreshold double 1e-4

QoS-derived RAN defaults for definitions that do not state rlcMode/lcg themselves (operator policy, not spec-mandated: 3GPP standardizes the QoS characteristics, the RAN chooses what to make of them)

bearerConfigurator.lcgPriorityBounds object [25, 50, 75]

Lcg derivation: qosPriorityLevel < bounds[k] -> LCG k, else LCG 3; strictly ascending, one bound between each pair of adjacent LCGs

bearerConfigurator.rohcForDrbProfiles object ["5qi-1", "qci-1"]

Header compression policy: definitions naming one of these profiles get "rohc: true" unless they state rohc themselves, on IP sessions; default: the voice bearers

carrierAggregation.componentCarrier.binderModule string "binder"
carrierAggregation.componentCarrier.carrierFrequency double 2GHz

Carrier Frequency (GHz)

carrierAggregation.componentCarrier.numBands int 6

Number of bands for this channel

carrierAggregation.componentCarrier.numerologyIndex int 0

Numerology index

carrierAggregation.componentCarrier.useTdd bool false
carrierAggregation.componentCarrier.tddNumSymbolsDl int 7
carrierAggregation.componentCarrier.tddNumSymbolsUl int 7
upf.status.displayStringTextFormat string "{stateStr}"

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

upf.status.initialStatus string "UP"

TODO @signal, @statistic

upf.environment.displayStringTextFormat string ""

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

upf.environment.initStage int 0

Initialization stage for the setup command

upf.environment.globalNamespace bool false

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

upf.environment.namespace string ""

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

upf.environment.setupCommand string ""

A host OS system command

upf.environment.teardownCommand string ""

A host OS system command

upf.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.pcapRecorder.verbose bool true

Whether to log packets on the module output

upf.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

upf.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

upf.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

upf.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.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

upf.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

upf.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

upf.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

upf.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

upf.pcapRecorder.helpers string ""

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

upf.pcapRecorder.alwaysFlush bool false

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

upf.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.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

upf.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.cb.interfaceTableModule string

Module path to the InterfaceTable module

upf.cb.forwardServiceRegistration bool true
upf.cb.forwardProtocolRegistration bool true
upf.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.cb.serviceMapping object {}

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

upf.cb.protocolMapping object {}

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

upf.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.bl.interfaceTableModule string

Module path to the InterfaceTable module

upf.bl.forwardServiceRegistration bool true
upf.bl.forwardProtocolRegistration bool true
upf.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.bl.serviceMapping object {}

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

upf.bl.protocolMapping object {}

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

upf.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.li.interfaceTableModule string

Module path to the InterfaceTable module

upf.li.forwardServiceRegistration bool true
upf.li.forwardProtocolRegistration bool true
upf.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.li.serviceMapping object {}

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

upf.li.protocolMapping object {}

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

upf.eth.bitrate double
upf.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.nl.interfaceTableModule string

Module path to the InterfaceTable module

upf.nl.forwardServiceRegistration bool true
upf.nl.forwardProtocolRegistration bool true
upf.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.nl.serviceMapping object {}

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

upf.nl.protocolMapping object {}

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

upf.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.tn.interfaceTableModule string

Module path to the InterfaceTable module

upf.tn.forwardServiceRegistration bool true
upf.tn.forwardProtocolRegistration bool true
upf.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.tn.serviceMapping object {}

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

upf.tn.protocolMapping object {}

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

upf.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.at.interfaceTableModule string

Module path to the InterfaceTable module

upf.at.forwardServiceRegistration bool true
upf.at.forwardProtocolRegistration bool true
upf.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.at.serviceMapping object {}

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

upf.at.protocolMapping object {}

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

upf.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.dnPpp.pcapRecorder.verbose bool true

Whether to log packets on the module output

upf.dnPpp.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

upf.dnPpp.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

upf.dnPpp.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

upf.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.dnPpp.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

upf.dnPpp.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

upf.dnPpp.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

upf.dnPpp.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

upf.dnPpp.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

upf.dnPpp.pcapRecorder.helpers string ""

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

upf.dnPpp.pcapRecorder.alwaysFlush bool false

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

upf.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.dnPpp.ppp.interfaceTableModule string

The path to the InterfaceTable module

upf.dnPpp.ppp.sendRawBytes bool false

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

upf.dnPpp.ppp.mtu int 4470B
upf.dnPpp.ppp.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

upf.dnPpp.ppp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

upf.relay.trafficFlowFilter.binderModule string "binder"
upf.relay.trafficFlowFilter.fastForwarding bool true
upf.relay.gtpUser.binderModule string "binder"
upf.relay.gtpUser.localPort int 31
upf.relay.gtpUser.tunnelPeerPort int 31
upf.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.rd.interfaceTableModule string

Module path to the InterfaceTable module

upf.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.nodeControl.binderModule string "binder"
upf.nodeControl.gtpUserModule string "^.relay.gtpUser"
upf.nodeControl.trafficFlowFilterModule string "^.relay.trafficFlowFilter"
upf.nodeControl.ethernetBridgeModule string "^.ethBridge.sessionMux"

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

upf.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.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.nodeControl.unstructuredServerPort int -1

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

upf.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.ndResponder.binderModule string "binder"
upf.ndResponder.linkLocalAddress string "fe80::1"

The router's address on every session's link

upf.ndResponder.routerLifetime double 9000s

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

upf.ndResponder.curHopLimit int 64

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

upf.ndResponder.checksumMode string "declared"
upf.ethBridge.macTable.agingTime double
upf.ethBridge.macTable.forwardingTableFile string
upf.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.ethBridge.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

upf.ethBridge.sessionMux.interfaceTableModule string

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

upf.ethBridge.sessionMux.macTableModule string

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

upf.ethBridge.sessionMux.portModuleType string "simu5g.corenetwork.ethernetSessionBridge.EthernetSessionPort"

The module type of the session ports

upf.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.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.ethBridge.cb.interfaceTableModule string

Module path to the InterfaceTable module

upf.ethBridge.cb.forwardServiceRegistration bool true
upf.ethBridge.cb.forwardProtocolRegistration bool true
upf.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.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.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.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.ethBridge.bl.interfaceTableModule string

Module path to the InterfaceTable module

upf.ethBridge.bl.forwardServiceRegistration bool true
upf.ethBridge.bl.forwardProtocolRegistration bool true
upf.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.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.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.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.ethBridge.li.interfaceTableModule string

Module path to the InterfaceTable module

upf.ethBridge.li.forwardServiceRegistration bool true
upf.ethBridge.li.forwardProtocolRegistration bool true
upf.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.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.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.dnEth.bitrate double
iUpf.status.displayStringTextFormat string "{stateStr}"

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

iUpf.status.initialStatus string "UP"

TODO @signal, @statistic

iUpf.environment.displayStringTextFormat string ""

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

iUpf.environment.initStage int 0

Initialization stage for the setup command

iUpf.environment.globalNamespace bool false

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

iUpf.environment.namespace string ""

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

iUpf.environment.setupCommand string ""

A host OS system command

iUpf.environment.teardownCommand string ""

A host OS system command

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

iUpf.pcapRecorder.verbose bool true

Whether to log packets on the module output

iUpf.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

iUpf.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

iUpf.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

iUpf.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

iUpf.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

iUpf.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

iUpf.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

iUpf.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

iUpf.pcapRecorder.helpers string ""

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

iUpf.pcapRecorder.alwaysFlush bool false

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

iUpf.interfaceTable.displayStringTextFormat string "{numInterfaces} interfaces"

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

iUpf.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

iUpf.cb.interfaceTableModule string

Module path to the InterfaceTable module

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

iUpf.cb.serviceMapping object {}

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

iUpf.cb.protocolMapping object {}

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

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

iUpf.bl.interfaceTableModule string

Module path to the InterfaceTable module

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

iUpf.bl.serviceMapping object {}

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

iUpf.bl.protocolMapping object {}

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

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

iUpf.li.interfaceTableModule string

Module path to the InterfaceTable module

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

iUpf.li.serviceMapping object {}

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

iUpf.li.protocolMapping object {}

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

iUpf.eth.bitrate double
iUpf.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

iUpf.nl.interfaceTableModule string

Module path to the InterfaceTable module

iUpf.nl.forwardServiceRegistration bool true
iUpf.nl.forwardProtocolRegistration bool true
iUpf.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

iUpf.nl.serviceMapping object {}

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

iUpf.nl.protocolMapping object {}

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

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

iUpf.tn.interfaceTableModule string

Module path to the InterfaceTable module

iUpf.tn.forwardServiceRegistration bool true
iUpf.tn.forwardProtocolRegistration bool true
iUpf.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

iUpf.tn.serviceMapping object {}

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

iUpf.tn.protocolMapping object {}

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

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

iUpf.at.interfaceTableModule string

Module path to the InterfaceTable module

iUpf.at.forwardServiceRegistration bool true
iUpf.at.forwardProtocolRegistration bool true
iUpf.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

iUpf.at.serviceMapping object {}

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

iUpf.at.protocolMapping object {}

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

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

iUpf.dnPpp.pcapRecorder.verbose bool true

Whether to log packets on the module output

iUpf.dnPpp.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

iUpf.dnPpp.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

iUpf.dnPpp.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

iUpf.dnPpp.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

iUpf.dnPpp.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

iUpf.dnPpp.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

iUpf.dnPpp.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

iUpf.dnPpp.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

iUpf.dnPpp.pcapRecorder.helpers string ""

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

iUpf.dnPpp.pcapRecorder.alwaysFlush bool false

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

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

iUpf.dnPpp.ppp.interfaceTableModule string

The path to the InterfaceTable module

iUpf.dnPpp.ppp.sendRawBytes bool false

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

iUpf.dnPpp.ppp.mtu int 4470B
iUpf.dnPpp.ppp.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

iUpf.dnPpp.ppp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

iUpf.relay.trafficFlowFilter.binderModule string "binder"
iUpf.relay.trafficFlowFilter.fastForwarding bool true
iUpf.relay.gtpUser.binderModule string "binder"
iUpf.relay.gtpUser.localPort int 31
iUpf.relay.gtpUser.tunnelPeerPort int 31
iUpf.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

iUpf.rd.interfaceTableModule string

Module path to the InterfaceTable module

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

iUpf.nodeControl.binderModule string "binder"
iUpf.nodeControl.gtpUserModule string "^.relay.gtpUser"
iUpf.nodeControl.trafficFlowFilterModule string "^.relay.trafficFlowFilter"
iUpf.nodeControl.ethernetBridgeModule string "^.ethBridge.sessionMux"

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

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

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

iUpf.nodeControl.unstructuredServerPort int -1

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

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

iUpf.ndResponder.binderModule string "binder"
iUpf.ndResponder.linkLocalAddress string "fe80::1"

The router's address on every session's link

iUpf.ndResponder.routerLifetime double 9000s

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

iUpf.ndResponder.curHopLimit int 64

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

iUpf.ndResponder.checksumMode string "declared"
iUpf.ethBridge.macTable.agingTime double
iUpf.ethBridge.macTable.forwardingTableFile string
iUpf.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

iUpf.ethBridge.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

iUpf.ethBridge.sessionMux.interfaceTableModule string

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

iUpf.ethBridge.sessionMux.macTableModule string

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

iUpf.ethBridge.sessionMux.portModuleType string "simu5g.corenetwork.ethernetSessionBridge.EthernetSessionPort"

The module type of the session ports

iUpf.ethBridge.sessionMux.portDisplayString string "p=500,420,row,100;g=sessionPorts"

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

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

iUpf.ethBridge.cb.interfaceTableModule string

Module path to the InterfaceTable module

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

iUpf.ethBridge.cb.serviceMapping object {}

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

iUpf.ethBridge.cb.protocolMapping object {}

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

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

iUpf.ethBridge.bl.interfaceTableModule string

Module path to the InterfaceTable module

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

iUpf.ethBridge.bl.serviceMapping object {}

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

iUpf.ethBridge.bl.protocolMapping object {}

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

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

iUpf.ethBridge.li.interfaceTableModule string

Module path to the InterfaceTable module

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

iUpf.ethBridge.li.serviceMapping object {}

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

iUpf.ethBridge.li.protocolMapping object {}

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

iUpf.dnEth.bitrate double
gNodeB1.interfaceTable.displayStringTextFormat string "{numInterfaces} interfaces"

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

gNodeB1.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

gNodeB1.mobility.displayStringTextFormat string "p: {position}\nv: {velocity}"

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

gNodeB1.mobility.subjectModule string "^"

The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module

gNodeB1.mobility.coordinateSystemModule string ""

The module path of the geographic coordinate system module; optional, empty disables geographic conversion (and the {geo_position} directive)

gNodeB1.mobility.updateDisplayString bool true

Enables continuous update of the subject module's position by modifying its display string

gNodeB1.mobility.constraintAreaMinX double -inf m

The minimum x position of the constraint area. It is unconstrained by default (negative infinity)

gNodeB1.mobility.constraintAreaMinY double -inf m

The minimum y position of the constraint area. It is unconstrained by default (negative infinity)

gNodeB1.mobility.constraintAreaMinZ double -inf m

The minimum z position of the constraint area. It is unconstrained by default (negative infinity)

gNodeB1.mobility.constraintAreaMaxX double inf m

The maximum x position of the constraint area. It is unconstrained by default (positive infinity)

gNodeB1.mobility.constraintAreaMaxY double inf m

The maximum y position of the constraint area. It is unconstrained by default (positive infinity)

gNodeB1.mobility.constraintAreaMaxZ double inf m

The maximum z position of the constraint area. It is unconstrained by default (positive infinity)

gNodeB1.mobility.initialX double uniform(this.constraintAreaMinX, this.constraintAreaMaxX)
gNodeB1.mobility.initialY double uniform(this.constraintAreaMinY, this.constraintAreaMaxY)
gNodeB1.mobility.initialZ double nanToZero(uniform(this.constraintAreaMinZ, this.constraintAreaMaxZ))
gNodeB1.mobility.initialLatitude double nan deg
gNodeB1.mobility.initialLongitude double nan deg
gNodeB1.mobility.initialAltitude double 0m
gNodeB1.mobility.initialHeading double 0deg
gNodeB1.mobility.initialElevation double 0deg
gNodeB1.mobility.initialBank double 0deg
gNodeB1.mobility.initFromDisplayString bool true

Enables one-time initialization from the subject module's display string

gNodeB1.mobility.updateFromDisplayString bool true

Enables continuous update from the subject module's display string for dragging and rotating it

gNodeB1.cellInfo.constraintAreaMinX double -1m/0

The minimum X-coordinate of the area constraint, unconstrained by default

gNodeB1.cellInfo.constraintAreaMinY double -1m/0

The minimum Y-coordinate of the area constraint, unconstrained by default

gNodeB1.cellInfo.constraintAreaMaxX double 1m/0

The maximum X-coordinate of the area constraint, unconstrained by default

gNodeB1.cellInfo.constraintAreaMaxY double 1m/0

The maximum Y-coordinate of the area constraint, unconstrained by default

gNodeB1.cellInfo.beaconInterval double 1s

Interval for sending broadcast messages (used for handover or DAS)

gNodeB1.cellInfo.microCell bool false

Type of eNodeB (MICRO / MACRO) - valid only for eNodeBs

gNodeB1.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

gNodeB1.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

gNodeB1.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

gNodeB1.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

gNodeB1.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

gNodeB1.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

gNodeB1.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

gNodeB1.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

gNodeB1.cellInfo.numPreferredBands int 1

Number of preferred bands to use (relevant only in PREFERRED mode)

gNodeB1.cellInfo.binderModule string "binder"
gNodeB1.collector.collectorType string

One of "eNBStatsCollector", "gNBStatsCollector", "ueStatsCollector", "NrUeStatsCollector"

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

gNodeB1.pppIf.pcapRecorder.verbose bool true

Whether to log packets on the module output

gNodeB1.pppIf.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

gNodeB1.pppIf.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

gNodeB1.pppIf.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

gNodeB1.pppIf.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

gNodeB1.pppIf.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

gNodeB1.pppIf.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

gNodeB1.pppIf.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

gNodeB1.pppIf.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

gNodeB1.pppIf.pcapRecorder.helpers string ""

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

gNodeB1.pppIf.pcapRecorder.alwaysFlush bool false

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

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

gNodeB1.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gNodeB1.pppIf.ppp.sendRawBytes bool false

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

gNodeB1.pppIf.ppp.mtu int 4470B
gNodeB1.pppIf.ppp.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

gNodeB1.pppIf.ppp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

gNodeB1.x2ppp.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

gNodeB1.x2ppp.pcapRecorder.verbose bool true

Whether to log packets on the module output

gNodeB1.x2ppp.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

gNodeB1.x2ppp.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

gNodeB1.x2ppp.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

gNodeB1.x2ppp.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).

gNodeB1.x2ppp.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

gNodeB1.x2ppp.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

gNodeB1.x2ppp.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

gNodeB1.x2ppp.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

gNodeB1.x2ppp.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

gNodeB1.x2ppp.pcapRecorder.helpers string ""

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

gNodeB1.x2ppp.pcapRecorder.alwaysFlush bool false

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

gNodeB1.x2ppp.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

gNodeB1.x2ppp.ppp.interfaceTableModule string

The path to the InterfaceTable module

gNodeB1.x2ppp.ppp.sendRawBytes bool false

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

gNodeB1.x2ppp.ppp.mtu int 4470B
gNodeB1.x2ppp.ppp.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

gNodeB1.x2ppp.ppp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

gNodeB1.pppMEHostIf.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

gNodeB1.pppMEHostIf.pcapRecorder.verbose bool true

Whether to log packets on the module output

gNodeB1.pppMEHostIf.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

gNodeB1.pppMEHostIf.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

gNodeB1.pppMEHostIf.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

gNodeB1.pppMEHostIf.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).

gNodeB1.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

gNodeB1.pppMEHostIf.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

gNodeB1.pppMEHostIf.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

gNodeB1.pppMEHostIf.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

gNodeB1.pppMEHostIf.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

gNodeB1.pppMEHostIf.pcapRecorder.helpers string ""

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

gNodeB1.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

gNodeB1.pppMEHostIf.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

gNodeB1.pppMEHostIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gNodeB1.pppMEHostIf.ppp.sendRawBytes bool false

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

gNodeB1.pppMEHostIf.ppp.mtu int 4470B
gNodeB1.pppMEHostIf.ppp.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

gNodeB1.pppMEHostIf.ppp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

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

gNodeB1.udp.interfaceTableModule string

The path to the InterfaceTable module

gNodeB1.udp.checksumMode string "declared"
gNodeB1.udp.defaultMulticastLoop bool true
gNodeB1.tcp.displayStringTextFormat string ""

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

gNodeB1.tcp.checksumMode string "declared"
gNodeB1.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)

gNodeB1.tcp.delayedAcksEnabled bool false

Delayed ACK algorithm (RFC 1122) enabled/disabled

gNodeB1.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

gNodeB1.tcp.limitedTransmitEnabled bool false

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

gNodeB1.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

gNodeB1.tcp.windowScalingSupport bool false

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

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

gNodeB1.tcp.timestampSupport bool false

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

gNodeB1.tcp.mss int 536

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

gNodeB1.tcp.msl int 120s

Maximum Segment Lifetime

gNodeB1.tcp.tcpAlgorithmClass string "TcpReno"
gNodeB1.tcp.dupthresh int 3

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

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

gNodeB1.tcp.stopOperationExtraTime double 0s

Extra time after lifecycle stop operation finished

gNodeB1.tcp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

gNodeB1.tcp.ecnWillingness bool false

True if willing to use ECN

gNodeB1.tcp.dctcpGamma double 0.0625

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

gNodeB1.tcp.pmtudEnabled bool false

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

gNodeB1.tcp.pmtudTimeout double 600s

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

gNodeB1.x2App.client.displayStringTextFormat string "{socketState}"

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

gNodeB1.x2App.client.localAddress string ""

Comma-separated list of addresses

gNodeB1.x2App.client.localPort int 0

Port number to listen on

gNodeB1.x2App.client.connectAddress string

Server address (may be symbolic)

gNodeB1.x2App.client.connectPort int 5000

Port number to connect to

gNodeB1.x2App.client.startTime double 0s

Time the first session begins

gNodeB1.x2App.client.numRequestsPerSession int 1

Number of requests sent per session

gNodeB1.x2App.client.numPacketsToReceive int 0
gNodeB1.x2App.client.requestLength int 1452

Length of a request (bytes)

gNodeB1.x2App.client.thinkTime double 0s

Time gap between requests

gNodeB1.x2App.client.waitToClose double 0s

Time to wait between the last message sent and abort

gNodeB1.x2App.client.reconnectInterval double 0s

If the connection breaks, waits this much before trying to reconnect

gNodeB1.x2App.client.inboundStreams int 17
gNodeB1.x2App.client.outboundStreams int 1
gNodeB1.x2App.client.echo bool false

Echoes received packages when true

gNodeB1.x2App.client.ordered bool true
gNodeB1.x2App.client.queueSize int 0
gNodeB1.x2App.client.prMethod int 0

0=NONE, 1=PR_TTL, 2=PR_RTX, 3=PR_PRIO, 4=PR_STRRST

gNodeB1.x2App.client.prValue double 0

For PR-SCTP

gNodeB1.x2App.client.streamReset bool false
gNodeB1.x2App.client.streamRequestTime double 0s
gNodeB1.x2App.client.streamResetType int 5

NO_RESET=5, RESET_OUTGOING=6, RESET_INCOMING=7, RESET_BOTH=8, SSN_TSN=9

gNodeB1.x2App.client.streamToReset int 0
gNodeB1.x2App.client.stopTime double -1s

Time of finishing sending, negative values mean forever

gNodeB1.x2App.client.primaryTime double 0s
gNodeB1.x2App.client.newPrimary string ""
gNodeB1.x2App.client.streamRequestLengths string ""
gNodeB1.x2App.client.streamRequestRatio string ""
gNodeB1.x2App.client.streamPriorities string ""
gNodeB1.x2App.client.finishEndsSimulation bool false
gNodeB1.x2App.client.binderModule string "binder"
gNodeB1.x2App.server.displayStringTextFormat string ""

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

gNodeB1.x2App.server.localAddress string ""

Comma-separated list of addresses

gNodeB1.x2App.server.localPort int 0

Port number to listen on

gNodeB1.x2App.server.echo bool false

Echoes received packages when true

gNodeB1.x2App.server.echoDelay double 0s
gNodeB1.x2App.server.delayFirstRead double 0s
gNodeB1.x2App.server.readingInterval double 0s
gNodeB1.x2App.server.messagesToPush int 0
gNodeB1.x2App.server.numPacketsToSendPerClient int 0

Number of requests sent per session

gNodeB1.x2App.server.numPacketsToReceivePerClient int 1
gNodeB1.x2App.server.requestLength int 1452

Length of a request (bytes)

gNodeB1.x2App.server.thinkTime double 0s

Time gap between requests

gNodeB1.x2App.server.waitToClose double 0s

Time to wait between last message sent and abort

gNodeB1.x2App.server.finishEndsSimulation bool false
gNodeB1.x2App.server.ordered bool true
gNodeB1.x2App.server.inboundStreams int 17
gNodeB1.x2App.server.outboundStreams int 1
gNodeB1.x2App.server.queueSize int 0
gNodeB1.x2App.server.prMethod int 0

0=NONE, 1=PR_TTL, 2=PR_RTX, 3=PR_PRIO, 4=PR_STRRST

gNodeB1.x2App.server.prValue double 0

For PR-SCTP

gNodeB1.x2App.server.streamReset bool false
gNodeB1.x2App.server.streamRequestTime double 0s
gNodeB1.x2App.server.streamToReset int 0
gNodeB1.x2App.server.streamPriorities string ""
gNodeB1.x2App.server.binderModule string "binder"
gNodeB1.sctp.displayStringTextFormat string ""

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

gNodeB1.sctp.interfaceTableModule string
gNodeB1.sctp.routingTableModule string
gNodeB1.sctp.checksumMode string "declared"
gNodeB1.sctp.numGapReports int 3
gNodeB1.sctp.rtoInitial double 3s
gNodeB1.sctp.rtoMin double 1s
gNodeB1.sctp.rtoMax double 60s
gNodeB1.sctp.rtoAlpha double 0.125
gNodeB1.sctp.rtoBeta double 0.250
gNodeB1.sctp.maxBurst int 4
gNodeB1.sctp.maxBurstVariant string "maxBurst"
gNodeB1.sctp.initialWindow int 0
gNodeB1.sctp.assocMaxRetrans int 10
gNodeB1.sctp.pathMaxRetrans int 5
gNodeB1.sctp.maxInitRetrans int 8
gNodeB1.sctp.sackPeriod double 200ms
gNodeB1.sctp.sackFrequency int 2
gNodeB1.sctp.reactivatePrimaryPath bool false
gNodeB1.sctp.sendQueueLimit int 0
gNodeB1.sctp.validCookieLifetime double 10s
gNodeB1.sctp.enableHeartbeats bool true
gNodeB1.sctp.hbInterval double 30s
gNodeB1.sctp.sendHeartbeatsOnActivePaths bool false
gNodeB1.sctp.nagleEnabled bool true
gNodeB1.sctp.naglePoint int 1468
gNodeB1.sctp.fragPoint int 1452
gNodeB1.sctp.fastRecoverySupported bool true
gNodeB1.sctp.sctpAlgorithmClass string "SctpAlg"
gNodeB1.sctp.ccModule int 0

RFC4960=0

gNodeB1.sctp.osbWithHeader bool false
gNodeB1.sctp.RTXMethod int 0

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

gNodeB1.sctp.ssModule int 0
gNodeB1.sctp.arwnd int 65535
gNodeB1.sctp.swsLimit int 3000

Limit for SWS

gNodeB1.sctp.udpEncapsEnabled bool false
gNodeB1.sctp.natFriendly bool false
gNodeB1.sctp.bytesToAddPerRcvdChunk int 0

For flow control

gNodeB1.sctp.bytesToAddPerPeerChunk int 0

For flow control

gNodeB1.sctp.tellArwnd bool false

For flow control

gNodeB1.sctp.messageAcceptLimit int 0

For flow control

gNodeB1.sctp.fairStart double 0s
gNodeB1.sctp.fairStop double 0s
gNodeB1.sctp.streamsToPaths string ""
gNodeB1.sctp.startEndToEndDelay int 0
gNodeB1.sctp.stopEndToEndDelay int 10
gNodeB1.sctp.throughputInterval double 1
gNodeB1.sctp.auth bool false
gNodeB1.sctp.chunks string ""
gNodeB1.sctp.padding bool false
gNodeB1.sctp.addIP bool false
gNodeB1.sctp.addTime double 0s
gNodeB1.sctp.addAddress string ""
gNodeB1.sctp.addIpType string "0"

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

gNodeB1.sctp.packetDrop bool false
gNodeB1.sctp.sackNow bool false
gNodeB1.sctp.highSpeedCC bool false
gNodeB1.sctp.checkSackSeqNumber bool false
gNodeB1.sctp.nrSack bool false
gNodeB1.sctp.disableReneging bool false
gNodeB1.sctp.gapReportLimit int 100000000
gNodeB1.sctp.gapListOptimizationVariant string "none"
gNodeB1.sctp.smartOverfullSACKHandling bool false
gNodeB1.sctp.allowQoSTracking bool false
gNodeB1.sctp.qosTrackingInterval double 1.0s
gNodeB1.sctp.cmtSendAllVariant string "normal"
gNodeB1.sctp.cmtRetransmissionVariant string "normal"
gNodeB1.sctp.cmtCUCVariant string "normal"
gNodeB1.sctp.cmtBufferSplitVariant string "none"
gNodeB1.sctp.cmtBufferSplittingUsesOSB bool false
gNodeB1.sctp.cmtUseSFR bool true
gNodeB1.sctp.cmtUseDAC bool true
gNodeB1.sctp.cmtUseFRC bool true
gNodeB1.sctp.cmtSmartT3Reset bool true
gNodeB1.sctp.cmtSmartFastRTX bool true
gNodeB1.sctp.cmtSmartReneging bool false
gNodeB1.sctp.cmtSlowPathRTTUpdate bool false
gNodeB1.sctp.cmtChunkReschedulingVariant string "none"
gNodeB1.sctp.cmtChunkReschedulingThreshold double 0.5
gNodeB1.sctp.cmtMovedChunksReduceCwnd bool true
gNodeB1.sctp.movedChunkFastRTXFactor double 2.0
gNodeB1.sctp.cmtSackPath string "standard"
gNodeB1.sctp.strictCwndBooking bool false
gNodeB1.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

gNodeB1.sctp.cmtCCPathGroups string ""
gNodeB1.sctp.rpPathBlocking bool false
gNodeB1.sctp.rpScaleBlockingTimeout bool false
gNodeB1.sctp.rpMinCwnd int 1
gNodeB1.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

gNodeB1.at.interfaceTableModule string

Module path to the InterfaceTable module

gNodeB1.at.forwardServiceRegistration bool true
gNodeB1.at.forwardProtocolRegistration bool true
gNodeB1.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

gNodeB1.at.serviceMapping object {}

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

gNodeB1.at.protocolMapping object {}

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

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

gNodeB1.tn.interfaceTableModule string

Module path to the InterfaceTable module

gNodeB1.tn.forwardServiceRegistration bool true
gNodeB1.tn.forwardProtocolRegistration bool true
gNodeB1.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

gNodeB1.tn.serviceMapping object {}

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

gNodeB1.tn.protocolMapping object {}

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

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

gNodeB1.nl.interfaceTableModule string

Module path to the InterfaceTable module

gNodeB1.nl.forwardServiceRegistration bool true
gNodeB1.nl.forwardProtocolRegistration bool true
gNodeB1.nl.serviceMapping object {}

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

gNodeB1.nl.protocolMapping object {}

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

gNodeB1.relay.trafficFlowFilter.binderModule string "binder"
gNodeB1.relay.trafficFlowFilter.fastForwarding bool true
gNodeB1.relay.gtpUser.binderModule string "binder"
gNodeB1.relay.gtpUser.localPort int 31
gNodeB1.relay.gtpUser.tunnelPeerPort int 31
gNodeB1.gtpUserX2.binderModule string "binder"
gNodeB1.gtpUserX2.localPort int 32
gNodeB1.gtpUserX2.tunnelPeerPort int 32
ue.status.displayStringTextFormat string "{stateStr}"

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

ue.status.initialStatus string "UP"

TODO @signal, @statistic

ue.environment.displayStringTextFormat string ""

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

ue.environment.initStage int 0

Initialization stage for the setup command

ue.environment.globalNamespace bool false

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

ue.environment.namespace string ""

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

ue.environment.setupCommand string ""

A host OS system command

ue.environment.teardownCommand string ""

A host OS system command

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

ue.pcapRecorder.verbose bool true

Whether to log packets on the module output

ue.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

ue.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

ue.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

ue.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

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

Space-separated list of sibling module names to listen on

ue.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

ue.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

ue.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

ue.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

ue.pcapRecorder.helpers string ""

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

ue.pcapRecorder.alwaysFlush bool false

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

ue.interfaceTable.displayStringTextFormat string "{numInterfaces} interfaces"

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

ue.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

ue.cb.interfaceTableModule string

Module path to the InterfaceTable module

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

ue.cb.serviceMapping object {}

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

ue.cb.protocolMapping object {}

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

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

ue.bl.interfaceTableModule string

Module path to the InterfaceTable module

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

ue.bl.serviceMapping object {}

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

ue.bl.protocolMapping object {}

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

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

ue.li.interfaceTableModule string

Module path to the InterfaceTable module

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

ue.li.serviceMapping object {}

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

ue.li.protocolMapping object {}

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

ue.eth.bitrate double
ue.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

ue.nl.interfaceTableModule string

Module path to the InterfaceTable module

ue.nl.forwardServiceRegistration bool true
ue.nl.forwardProtocolRegistration bool true
ue.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

ue.nl.serviceMapping object {}

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

ue.nl.protocolMapping object {}

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

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

ue.tn.interfaceTableModule string

Module path to the InterfaceTable module

ue.tn.forwardServiceRegistration bool true
ue.tn.forwardProtocolRegistration bool true
ue.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

ue.tn.serviceMapping object {}

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

ue.tn.protocolMapping object {}

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

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

ue.at.interfaceTableModule string

Module path to the InterfaceTable module

ue.at.forwardServiceRegistration bool true
ue.at.forwardProtocolRegistration bool true
ue.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

ue.at.serviceMapping object {}

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

ue.at.protocolMapping object {}

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

ue.macTable.agingTime double
ue.macTable.forwardingTableFile string
mecHost.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

mecHost.virtualisationInfrastructure.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.verbose bool true

Whether to log packets on the module output

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.pcapFile string ""

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

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.fileFormat string "pcapng"
mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

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

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.helpers string ""

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

mecHost.virtualisationInfrastructure.pppIf.pcapRecorder.alwaysFlush bool false

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

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

mecHost.virtualisationInfrastructure.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

mecHost.virtualisationInfrastructure.pppIf.ppp.sendRawBytes bool false

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

mecHost.virtualisationInfrastructure.pppIf.ppp.mtu int 4470B
mecHost.virtualisationInfrastructure.pppIf.ppp.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

mecHost.virtualisationInfrastructure.pppIf.ppp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

mecHost.virtualisationInfrastructure.extEth.bitrate double
mecHost.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

mecHost.virtualisationInfrastructure.udp.interfaceTableModule string

The path to the InterfaceTable module

mecHost.virtualisationInfrastructure.udp.checksumMode string "declared"
mecHost.virtualisationInfrastructure.udp.defaultMulticastLoop bool true
mecHost.virtualisationInfrastructure.tcp.displayStringTextFormat string ""

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

mecHost.virtualisationInfrastructure.tcp.checksumMode string "declared"
mecHost.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)

mecHost.virtualisationInfrastructure.tcp.delayedAcksEnabled bool false

Delayed ACK algorithm (RFC 1122) enabled/disabled

mecHost.virtualisationInfrastructure.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

mecHost.virtualisationInfrastructure.tcp.limitedTransmitEnabled bool false

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

mecHost.virtualisationInfrastructure.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

mecHost.virtualisationInfrastructure.tcp.windowScalingSupport bool false

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

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

mecHost.virtualisationInfrastructure.tcp.timestampSupport bool false

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

mecHost.virtualisationInfrastructure.tcp.mss int 536

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

mecHost.virtualisationInfrastructure.tcp.msl int 120s

Maximum Segment Lifetime

mecHost.virtualisationInfrastructure.tcp.tcpAlgorithmClass string "TcpReno"
mecHost.virtualisationInfrastructure.tcp.dupthresh int 3

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

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

mecHost.virtualisationInfrastructure.tcp.stopOperationExtraTime double 0s

Extra time after lifecycle stop operation finished

mecHost.virtualisationInfrastructure.tcp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

mecHost.virtualisationInfrastructure.tcp.ecnWillingness bool false

True if willing to use ECN

mecHost.virtualisationInfrastructure.tcp.dctcpGamma double 0.0625

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

mecHost.virtualisationInfrastructure.tcp.pmtudEnabled bool false

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

mecHost.virtualisationInfrastructure.tcp.pmtudTimeout double 600s

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

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

mecHost.virtualisationInfrastructure.at.interfaceTableModule string

Module path to the InterfaceTable module

mecHost.virtualisationInfrastructure.at.forwardServiceRegistration bool true
mecHost.virtualisationInfrastructure.at.forwardProtocolRegistration bool true
mecHost.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

mecHost.virtualisationInfrastructure.at.serviceMapping object {}

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

mecHost.virtualisationInfrastructure.at.protocolMapping object {}

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

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

mecHost.virtualisationInfrastructure.tn.interfaceTableModule string

Module path to the InterfaceTable module

mecHost.virtualisationInfrastructure.tn.forwardServiceRegistration bool true
mecHost.virtualisationInfrastructure.tn.forwardProtocolRegistration bool true
mecHost.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

mecHost.virtualisationInfrastructure.tn.serviceMapping object {}

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

mecHost.virtualisationInfrastructure.tn.protocolMapping object {}

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

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

mecHost.virtualisationInfrastructure.nl.interfaceTableModule string

Module path to the InterfaceTable module

mecHost.virtualisationInfrastructure.nl.forwardServiceRegistration bool true
mecHost.virtualisationInfrastructure.nl.forwardProtocolRegistration bool true
mecHost.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

mecHost.virtualisationInfrastructure.nl.serviceMapping object {}

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

mecHost.virtualisationInfrastructure.nl.protocolMapping object {}

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

mecHost.mecPlatform.serviceRegistry.serviceName string "ServiceRegistry"
mecHost.mecPlatform.serviceRegistry.requestQueueSize int 0
mecHost.mecPlatform.serviceRegistry.subscriptionQueueSize int 0
mecHost.mecPlatform.serviceRegistry.localAddress string ""

Local address; may be left empty ("")

mecHost.mecPlatform.serviceRegistry.localPort int 1000

localPort number to listen on

mecHost.mecPlatform.serviceRegistry.requestServiceTime double 15us
mecHost.mecPlatform.serviceRegistry.subscriptionServiceTime double 20us
mecHost.mecPlatform.serviceRegistry.serverThreadClass string "simu5g.mec.platform.services.base.SocketManager"
mecHost.mecPlatform.serviceRegistry.tos int -1

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

mecHost.mecPlatform.serviceRegistry.binderModule string "binder"
mecHost.mecPlatformManager.mecOrchestrator string
mecHost.mecPlatformManager.serviceRegistryModule string "^.mecPlatform.serviceRegistry"
mecHost.mecPlatformManager.vimModule string "^.vim"
mecHost.vim.binderModule string "binder"
mecHost.vim.mp1Port int 10021
mecHost.vim.scheduling string "segregation"
mecHost.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

mecHost.upf_mec.status.initialStatus string "UP"

TODO @signal, @statistic

mecHost.upf_mec.environment.displayStringTextFormat string ""

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

mecHost.upf_mec.environment.initStage int 0

Initialization stage for the setup command

mecHost.upf_mec.environment.globalNamespace bool false

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

mecHost.upf_mec.environment.namespace string ""

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

mecHost.upf_mec.environment.setupCommand string ""

A host OS system command

mecHost.upf_mec.environment.teardownCommand string ""

A host OS system command

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

mecHost.upf_mec.pcapRecorder.verbose bool true

Whether to log packets on the module output

mecHost.upf_mec.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

mecHost.upf_mec.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

mecHost.upf_mec.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

mecHost.upf_mec.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

mecHost.upf_mec.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

Space-separated list of sibling module names to listen on

mecHost.upf_mec.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

mecHost.upf_mec.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

mecHost.upf_mec.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

mecHost.upf_mec.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

mecHost.upf_mec.pcapRecorder.helpers string ""

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

mecHost.upf_mec.pcapRecorder.alwaysFlush bool false

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

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

mecHost.upf_mec.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

mecHost.upf_mec.cb.interfaceTableModule string

Module path to the InterfaceTable module

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

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

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

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

mecHost.upf_mec.bl.interfaceTableModule string

Module path to the InterfaceTable module

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

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

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

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

mecHost.upf_mec.li.interfaceTableModule string

Module path to the InterfaceTable module

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

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

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

mecHost.upf_mec.eth.bitrate double
mecHost.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

mecHost.upf_mec.nl.interfaceTableModule string

Module path to the InterfaceTable module

mecHost.upf_mec.nl.forwardServiceRegistration bool true
mecHost.upf_mec.nl.forwardProtocolRegistration bool true
mecHost.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

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

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

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

mecHost.upf_mec.tn.interfaceTableModule string

Module path to the InterfaceTable module

mecHost.upf_mec.tn.forwardServiceRegistration bool true
mecHost.upf_mec.tn.forwardProtocolRegistration bool true
mecHost.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

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

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

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

mecHost.upf_mec.at.interfaceTableModule string

Module path to the InterfaceTable module

mecHost.upf_mec.at.forwardServiceRegistration bool true
mecHost.upf_mec.at.forwardProtocolRegistration bool true
mecHost.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

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

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

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

mecHost.upf_mec.dnPpp.pcapRecorder.verbose bool true

Whether to log packets on the module output

mecHost.upf_mec.dnPpp.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

mecHost.upf_mec.dnPpp.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

mecHost.upf_mec.dnPpp.pcapRecorder.pcapFile string ""

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

mecHost.upf_mec.dnPpp.pcapRecorder.fileFormat string "pcapng"
mecHost.upf_mec.dnPpp.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

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

mecHost.upf_mec.dnPpp.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

mecHost.upf_mec.dnPpp.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

mecHost.upf_mec.dnPpp.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

mecHost.upf_mec.dnPpp.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

mecHost.upf_mec.dnPpp.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

mecHost.upf_mec.dnPpp.pcapRecorder.helpers string ""

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

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

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

mecHost.upf_mec.dnPpp.ppp.interfaceTableModule string

The path to the InterfaceTable module

mecHost.upf_mec.dnPpp.ppp.sendRawBytes bool false

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

mecHost.upf_mec.dnPpp.ppp.mtu int 4470B
mecHost.upf_mec.dnPpp.ppp.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

mecHost.upf_mec.dnPpp.ppp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

mecHost.upf_mec.relay.trafficFlowFilter.binderModule string "binder"
mecHost.upf_mec.relay.trafficFlowFilter.fastForwarding bool true
mecHost.upf_mec.relay.gtpUser.binderModule string "binder"
mecHost.upf_mec.relay.gtpUser.localPort int 31
mecHost.upf_mec.relay.gtpUser.tunnelPeerPort int 31
mecHost.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

mecHost.upf_mec.rd.interfaceTableModule string

Module path to the InterfaceTable module

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

mecHost.upf_mec.nodeControl.binderModule string "binder"
mecHost.upf_mec.nodeControl.gtpUserModule string "^.relay.gtpUser"
mecHost.upf_mec.nodeControl.trafficFlowFilterModule string "^.relay.trafficFlowFilter"
mecHost.upf_mec.nodeControl.ethernetBridgeModule string "^.ethBridge.sessionMux"

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

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

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

mecHost.upf_mec.nodeControl.unstructuredServerPort int -1

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

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

mecHost.upf_mec.ndResponder.binderModule string "binder"
mecHost.upf_mec.ndResponder.linkLocalAddress string "fe80::1"

The router's address on every session's link

mecHost.upf_mec.ndResponder.routerLifetime double 9000s

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

mecHost.upf_mec.ndResponder.curHopLimit int 64

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

mecHost.upf_mec.ndResponder.checksumMode string "declared"
mecHost.upf_mec.ethBridge.macTable.agingTime double
mecHost.upf_mec.ethBridge.macTable.forwardingTableFile string
mecHost.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

mecHost.upf_mec.ethBridge.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

mecHost.upf_mec.ethBridge.sessionMux.interfaceTableModule string

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

mecHost.upf_mec.ethBridge.sessionMux.macTableModule string

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

mecHost.upf_mec.ethBridge.sessionMux.portModuleType string "simu5g.corenetwork.ethernetSessionBridge.EthernetSessionPort"

The module type of the session ports

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

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

mecHost.upf_mec.ethBridge.cb.interfaceTableModule string

Module path to the InterfaceTable module

mecHost.upf_mec.ethBridge.cb.forwardServiceRegistration bool true
mecHost.upf_mec.ethBridge.cb.forwardProtocolRegistration bool true
mecHost.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

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

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

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

mecHost.upf_mec.ethBridge.bl.interfaceTableModule string

Module path to the InterfaceTable module

mecHost.upf_mec.ethBridge.bl.forwardServiceRegistration bool true
mecHost.upf_mec.ethBridge.bl.forwardProtocolRegistration bool true
mecHost.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

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

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

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

mecHost.upf_mec.ethBridge.li.interfaceTableModule string

Module path to the InterfaceTable module

mecHost.upf_mec.ethBridge.li.forwardServiceRegistration bool true
mecHost.upf_mec.ethBridge.li.forwardProtocolRegistration bool true
mecHost.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

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

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

mecHost.upf_mec.dnEth.bitrate double
mecOrchestrator.binderModule string "binder"
mecOrchestrator.selectionPolicy string "MecServiceBased"

Available policies: "MecHostBased", "MecServiceBased", "AvailableResourcesBased"

mecOrchestrator.mecHostIndex int 0

To be used with the MecHostBased policy

mecOrchestrator.mecHostList object []
mecOrchestrator.mecApplicationPackageList object []
mecOrchestrator.onboardingTime double 50ms

Times to simulate lifecycle operations

mecOrchestrator.instantiationTime double 50ms
mecOrchestrator.terminationTime double 50ms
ualcmp.interfaceTable.displayStringTextFormat string "{numInterfaces} interfaces"

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

ualcmp.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

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

ualcmp.pppIf.pcapRecorder.verbose bool true

Whether to log packets on the module output

ualcmp.pppIf.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

ualcmp.pppIf.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

ualcmp.pppIf.pcapRecorder.pcapFile string ""

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

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

Maximum number of bytes to record per packet

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

ualcmp.pppIf.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

ualcmp.pppIf.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

ualcmp.pppIf.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

ualcmp.pppIf.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

ualcmp.pppIf.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

ualcmp.pppIf.pcapRecorder.helpers string ""

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

ualcmp.pppIf.pcapRecorder.alwaysFlush bool false

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

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

ualcmp.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

ualcmp.pppIf.ppp.sendRawBytes bool false

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

ualcmp.pppIf.ppp.mtu int 4470B
ualcmp.pppIf.ppp.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

ualcmp.pppIf.ppp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

ualcmp.extEth.bitrate double
ualcmp.ualcmpApp.binderModule string "binder"
ualcmp.ualcmpApp.serviceName string "Ualcmp"
ualcmp.ualcmpApp.requestQueueSize int 0
ualcmp.ualcmpApp.subscriptionQueueSize int 0
ualcmp.ualcmpApp.localAddress string ""

Local address; may be left empty ("")

ualcmp.ualcmpApp.localPort int 1000

localPort number to listen on

ualcmp.ualcmpApp.requestServiceTime double 5us
ualcmp.ualcmpApp.subscriptionServiceTime double 10us
ualcmp.ualcmpApp.serverThreadClass string "simu5g.mec.platform.services.base.SocketManager"
ualcmp.ualcmpApp.tos int -1

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

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

ualcmp.udp.interfaceTableModule string

The path to the InterfaceTable module

ualcmp.udp.checksumMode string "declared"
ualcmp.udp.defaultMulticastLoop bool true
ualcmp.tcp.displayStringTextFormat string ""

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

ualcmp.tcp.checksumMode string "declared"
ualcmp.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)

ualcmp.tcp.delayedAcksEnabled bool false

Delayed ACK algorithm (RFC 1122) enabled/disabled

ualcmp.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

ualcmp.tcp.limitedTransmitEnabled bool false

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

ualcmp.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

ualcmp.tcp.windowScalingSupport bool false

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

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

ualcmp.tcp.timestampSupport bool false

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

ualcmp.tcp.mss int 536

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

ualcmp.tcp.msl int 120s

Maximum Segment Lifetime

ualcmp.tcp.tcpAlgorithmClass string "TcpReno"
ualcmp.tcp.dupthresh int 3

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

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

ualcmp.tcp.stopOperationExtraTime double 0s

Extra time after lifecycle stop operation finished

ualcmp.tcp.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

ualcmp.tcp.ecnWillingness bool false

True if willing to use ECN

ualcmp.tcp.dctcpGamma double 0.0625

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

ualcmp.tcp.pmtudEnabled bool false

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

ualcmp.tcp.pmtudTimeout double 600s

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

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

ualcmp.at.interfaceTableModule string

Module path to the InterfaceTable module

ualcmp.at.forwardServiceRegistration bool true
ualcmp.at.forwardProtocolRegistration bool true
ualcmp.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

ualcmp.at.serviceMapping object {}

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

ualcmp.at.protocolMapping object {}

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

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

ualcmp.tn.interfaceTableModule string

Module path to the InterfaceTable module

ualcmp.tn.forwardServiceRegistration bool true
ualcmp.tn.forwardProtocolRegistration bool true
ualcmp.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

ualcmp.tn.serviceMapping object {}

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

ualcmp.tn.protocolMapping object {}

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

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

ualcmp.nl.interfaceTableModule string

Module path to the InterfaceTable module

ualcmp.nl.forwardServiceRegistration bool true
ualcmp.nl.forwardProtocolRegistration bool true
ualcmp.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

ualcmp.nl.serviceMapping object {}

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

ualcmp.nl.protocolMapping object {}

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

Source code

//
// 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.
//
network SingleMecHost
{
    parameters:
        // The gNBs connect to a 5GC (Upf), so every cellular stack has SDAP:
        // TS 37.324 ties SDAP to the 5GC connection, not to the radio
        **.cellularNic.hasSdap = default(true);
        @display("i=block/network2;bgb=811,507;bgi=background/pisa");

        int numUes = default(0);

        double playgroundSizeX @unit(m); // X size of the area the nodes are in (in meters)
        double playgroundSizeY @unit(m); // Y size of the area the nodes are in (in meters)
        double playgroundSizeZ @unit(m); // Z size of the area the nodes are in (in meters)

    submodules:

        routingRecorder: RoutingTableRecorder {
            @display("p=690,74;is=s");
        }
        configurator: Ipv4NetworkConfigurator {
            @display("p=690,124;is=s");
        }
        channelControl: LteChannelControl {
            @display("p=690,24;is=s");
        }
        binder: Binder {
            @display("p=690,174;is=s");
        }
        coreControl: CoreControl {
            @display("p=690,374;is=s");
        }
        bearerConfigurator: BearerConfigurator {
            @display("p=690,224;is=s");
        }
        carrierAggregation: CarrierAggregation {
            @display("p=690,274;is=s");
        }
        upf: Upf {
            @display("p=545,250");
        }
        iUpf: Upf {
            @display("p=352,250");
        }
        gNodeB1: gNodeB {
            @display("p=140,250;is=vl");
        }
        ue[numUes]: NrUe {
            @display("p=237,310");
        }
        //# MEC module
        mecHost: MecHost {
            @display("p=352,145;is=l");
        }

        mecOrchestrator: MecOrchestrator {
            @display("p=544,63;is=l");
        }

        ualcmp: Ualcmp {
            @display("p=545,158;i=device/smallrouter");
        }


    connections allowunconnected:

        upf.pppg++ <--> Eth10G <--> iUpf.pppg++;
        iUpf.pppg++ <--> Eth10G <--> gNodeB1.ppp;
        ualcmp.ppp++ <--> Eth10G <--> upf.dnPppg;

        ualcmp.toMecOrchestrator --> mecOrchestrator.fromUALCMP;
        ualcmp.fromMecOrchestrator <-- mecOrchestrator.toUALCMP;

        mecHost.ppp++ <--> Eth10G <--> iUpf.pppg++;
}
File: simulations/nr/mec/singleMecHost/singleMecHost.ned