MultiOperator

Package: simu5g.simulations.nr.mec.multiOperator

MultiOperator

network

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

Operator B's MEC system -- its MecHost, MecOrchestrator and Ualcmp -- is conditional on the enableMecOperatorB parameter. The addresses of the network interfaces are assigned in demo.xml.

channelControl : LteChannelControl

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

Source:
channelControl: LteChannelControl {
    @display("p=50,25;is=s");
} routingRecorder : RoutingTableRecorder
[from inet] ↗

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

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

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

Source:
configurator: Ipv4NetworkConfigurator {
    @display("p=50,125;is=s");
} binder : Binder

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

Source:
binder: Binder {
    @display("p=50,175;is=s");
} bearerConfigurator : BearerConfigurator

Central configurator of the network's data radio bearers.

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

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

Source:
carrierAggregation: CarrierAggregation {
    @display("p=50,275;is=s");
} router : Router
[from inet] ↗

IPv4 router that supports wireless, Ethernet, PPP and external interfaces.

Source:
router: Router {
    @display("p=750,73");
} upf_A : Upf

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

Source:
upf_A: Upf {
    @display("p=625,173");
} upf_B : Upf

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

Source:
upf_B: Upf {
    @display("p=875,173");
} iUpf_A : Upf

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

Source:
iUpf_A: Upf {
    @display("p=623,281");
} iUpf_B : Upf

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

Source:
iUpf_B: Upf {
    @display("p=874,281");
} gnb_A1 : gNodeB

Implements a gNodeB for a 5G network.

Source:
gnb_A1: gNodeB {
    @display("p=274,454;is=vl");
} gnb_A2 : gNodeB

Implements a gNodeB for a 5G network.

Source:
gnb_A2: gNodeB {
    @display("p=800,452;is=vl");
} gnb_A3 : gNodeB

Implements a gNodeB for a 5G network.

Source:
gnb_A3: gNodeB {
    @display("p=1245,452;is=vl");
} gnb_B1 : gNodeB

Implements a gNodeB for a 5G network.

Source:
gnb_B1: gNodeB {
    @display("p=330,514;is=vl");
} gnb_B2 : gNodeB

Implements a gNodeB for a 5G network.

Source:
gnb_B2: gNodeB {
    @display("p=848,513;is=vl");
} gnb_B3 : gNodeB

Implements a gNodeB for a 5G network.

Source:
gnb_B3: gNodeB {
    @display("p=1304,513;is=vl");
} bgCell[numBgCells] : BackgroundCell

Implements a lightweight model for a 4G eNodeB or 5G gNodeB for generating configurable inter-cell...

Source:
bgCell[numBgCells]: BackgroundCell {
    @display("p=138,630;is=vl");
} ue_A[numUe_A] : NrUe

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

Source:
ue_A[numUe_A]: NrUe {
    @display("p=717,691");
} ue_B[numUe_B] : NrUe

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

Source:
ue_B[numUe_B]: NrUe {
    @display("p=937,691");
} mecHost_A : MecHost

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

Source:
mecHost_A: MecHost {
    @display("p=273,281");
} mecHost_B : MecHost

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

Source:
mecHost_B: MecHost if enableMecOperatorB {
    @display("p=1245,281");
} mecOrchestrator_A : MecOrchestrator

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

Source:
mecOrchestrator_A: MecOrchestrator {
    @display("p=273,73");
} mecOrchestrator_B : MecOrchestrator

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

Source:
mecOrchestrator_B: MecOrchestrator if enableMecOperatorB {
    @display("p=1245,73");
} ualcmp_A : Ualcmp

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

Source:
ualcmp_A: Ualcmp {
    @display("p=490,73");
} ualcmp_B : Ualcmp

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

Source:
ualcmp_B: Ualcmp if enableMecOperatorB {
    @display("p=1027,73");
}

Usage diagram

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

Parameters

Name Type Default value Description
numUe_A int 1
numUe_B int 1
numBgCells int 0
enableMecOperatorB bool true

Properties

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

Unassigned submodule parameters

Name Type Default value Description
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)

routingRecorder.enabled bool true
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 (i.e. directly connected interfaces) to the routing table (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.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)

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

JSON array: [{coreNetwork, ue, drbId, profile, mappedQfis, filters, lcg, rlcMode, legs, pduSessionType, upperProtocol, isDefault, suppressSdapHeader, 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

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
router.status.initialStatus string "UP"

TODO @signal, @statistic

router.pcapRecorder.verbose bool true

whether to log packets on the module output

router.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

router.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

router.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

router.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

router.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

router.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

router.pcapRecorder.helpers string ""

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

router.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

router.at.forwardServiceRegistration bool true
router.at.forwardProtocolRegistration bool true
router.bgp.interfaceTableModule string

The path to the InterfaceTable module

router.bgp.routingTableModule string
router.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
upf_A.status.initialStatus string "UP"

TODO @signal, @statistic

upf_A.pcapRecorder.verbose bool true

whether to log packets on the module output

upf_A.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

upf_A.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

upf_A.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

upf_A.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

upf_A.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

upf_A.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

upf_A.pcapRecorder.helpers string ""

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

upf_A.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

upf_A.at.forwardServiceRegistration bool true
upf_A.at.forwardProtocolRegistration bool true
upf_A.dnPpp.pcapRecorder.verbose bool true

whether to log packets on the module output

upf_A.dnPpp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

upf_A.dnPpp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

upf_A.dnPpp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

upf_A.dnPpp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

upf_A.dnPpp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

upf_A.dnPpp.pcapRecorder.helpers string ""

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

upf_A.dnPpp.pcapRecorder.alwaysFlush bool false

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

upf_A.dnPpp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
upf_A.dnPpp.ppp.interfaceTableModule string

The path to the InterfaceTable module

upf_A.dnPpp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
upf_A.dnPpp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

upf_A.dnPpp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

upf_A.trafficFlowFilter.binderModule string "binder"
upf_A.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

upf_A.trafficFlowFilter.fastForwarding bool true
upf_A.gtp_user.binderModule string "binder"
upf_A.gtp_user.interfaceTableModule string

Path to the InterfaceTable module

upf_A.gtp_user.ipOutInterface string ""

Optional: manual specification of outgoing interface for received IP

upf_A.gtp_user.localPort int 31
upf_A.gtp_user.tunnelPeerPort int 31
upf_B.status.initialStatus string "UP"

TODO @signal, @statistic

upf_B.pcapRecorder.verbose bool true

whether to log packets on the module output

upf_B.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

upf_B.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

upf_B.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

upf_B.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

upf_B.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

upf_B.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

upf_B.pcapRecorder.helpers string ""

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

upf_B.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

upf_B.at.forwardServiceRegistration bool true
upf_B.at.forwardProtocolRegistration bool true
upf_B.dnPpp.pcapRecorder.verbose bool true

whether to log packets on the module output

upf_B.dnPpp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

upf_B.dnPpp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

upf_B.dnPpp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

upf_B.dnPpp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

upf_B.dnPpp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

upf_B.dnPpp.pcapRecorder.helpers string ""

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

upf_B.dnPpp.pcapRecorder.alwaysFlush bool false

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

upf_B.dnPpp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
upf_B.dnPpp.ppp.interfaceTableModule string

The path to the InterfaceTable module

upf_B.dnPpp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
upf_B.dnPpp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

upf_B.dnPpp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

upf_B.trafficFlowFilter.binderModule string "binder"
upf_B.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

upf_B.trafficFlowFilter.fastForwarding bool true
upf_B.gtp_user.binderModule string "binder"
upf_B.gtp_user.interfaceTableModule string

Path to the InterfaceTable module

upf_B.gtp_user.ipOutInterface string ""

Optional: manual specification of outgoing interface for received IP

upf_B.gtp_user.localPort int 31
upf_B.gtp_user.tunnelPeerPort int 31
iUpf_A.status.initialStatus string "UP"

TODO @signal, @statistic

iUpf_A.pcapRecorder.verbose bool true

whether to log packets on the module output

iUpf_A.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

iUpf_A.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

iUpf_A.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

iUpf_A.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

iUpf_A.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

iUpf_A.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

iUpf_A.pcapRecorder.helpers string ""

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

iUpf_A.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

iUpf_A.at.forwardServiceRegistration bool true
iUpf_A.at.forwardProtocolRegistration bool true
iUpf_A.dnPpp.pcapRecorder.verbose bool true

whether to log packets on the module output

iUpf_A.dnPpp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

iUpf_A.dnPpp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

iUpf_A.dnPpp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

iUpf_A.dnPpp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

iUpf_A.dnPpp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

iUpf_A.dnPpp.pcapRecorder.helpers string ""

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

iUpf_A.dnPpp.pcapRecorder.alwaysFlush bool false

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

iUpf_A.dnPpp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
iUpf_A.dnPpp.ppp.interfaceTableModule string

The path to the InterfaceTable module

iUpf_A.dnPpp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
iUpf_A.dnPpp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

iUpf_A.dnPpp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

iUpf_A.trafficFlowFilter.binderModule string "binder"
iUpf_A.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

iUpf_A.trafficFlowFilter.fastForwarding bool true
iUpf_A.gtp_user.binderModule string "binder"
iUpf_A.gtp_user.interfaceTableModule string

Path to the InterfaceTable module

iUpf_A.gtp_user.ipOutInterface string ""

Optional: manual specification of outgoing interface for received IP

iUpf_A.gtp_user.localPort int 31
iUpf_A.gtp_user.tunnelPeerPort int 31
iUpf_B.status.initialStatus string "UP"

TODO @signal, @statistic

iUpf_B.pcapRecorder.verbose bool true

whether to log packets on the module output

iUpf_B.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

iUpf_B.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

iUpf_B.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

iUpf_B.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

iUpf_B.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

iUpf_B.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

iUpf_B.pcapRecorder.helpers string ""

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

iUpf_B.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

iUpf_B.at.forwardServiceRegistration bool true
iUpf_B.at.forwardProtocolRegistration bool true
iUpf_B.dnPpp.pcapRecorder.verbose bool true

whether to log packets on the module output

iUpf_B.dnPpp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

iUpf_B.dnPpp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

iUpf_B.dnPpp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

iUpf_B.dnPpp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

iUpf_B.dnPpp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

iUpf_B.dnPpp.pcapRecorder.helpers string ""

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

iUpf_B.dnPpp.pcapRecorder.alwaysFlush bool false

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

iUpf_B.dnPpp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
iUpf_B.dnPpp.ppp.interfaceTableModule string

The path to the InterfaceTable module

iUpf_B.dnPpp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
iUpf_B.dnPpp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

iUpf_B.dnPpp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

iUpf_B.trafficFlowFilter.binderModule string "binder"
iUpf_B.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

iUpf_B.trafficFlowFilter.fastForwarding bool true
iUpf_B.gtp_user.binderModule string "binder"
iUpf_B.gtp_user.interfaceTableModule string

Path to the InterfaceTable module

iUpf_B.gtp_user.ipOutInterface string ""

Optional: manual specification of outgoing interface for received IP

iUpf_B.gtp_user.localPort int 31
iUpf_B.gtp_user.tunnelPeerPort int 31
gnb_A1.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

gnb_A1.mobility.subjectModule string "^"

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

gnb_A1.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

gnb_A1.mobility.displayStringTextFormat string "p: %p\nv: %v"

format string for the mobility module's display string text

gnb_A1.mobility.updateDisplayString bool true

enables continuous update of the subject module's position via modifying its display string

gnb_A1.mobility.constraintAreaMinX double -inf m

min x position of the constraint area, unconstrained by default (negative infinity)

gnb_A1.mobility.constraintAreaMinY double -inf m

min y position of the constraint area, unconstrained by default (negative infinity)

gnb_A1.mobility.constraintAreaMinZ double -inf m

min z position of the constraint area, unconstrained by default (negative infinity)

gnb_A1.mobility.constraintAreaMaxX double inf m

max x position of the constraint area, unconstrained by default (positive infinity)

gnb_A1.mobility.constraintAreaMaxY double inf m

max y position of the constraint area, unconstrained by default (positive infinity)

gnb_A1.mobility.constraintAreaMaxZ double inf m

max z position of the constraint area, unconstrained by default (positive infinity)

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

enables one time initialization from the subject module's display string

gnb_A1.mobility.updateFromDisplayString bool true

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

gnb_A1.cellInfo.constraintAreaMinX double -1m/0

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

gnb_A1.cellInfo.constraintAreaMinY double -1m/0

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

gnb_A1.cellInfo.constraintAreaMaxX double 1m/0

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

gnb_A1.cellInfo.constraintAreaMaxY double 1m/0

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

gnb_A1.cellInfo.beaconInterval double 1s

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

gnb_A1.cellInfo.microCell bool false

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

gnb_A1.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

gnb_A1.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

gnb_A1.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

gnb_A1.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

gnb_A1.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

gnb_A1.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

gnb_A1.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

gnb_A1.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

gnb_A1.cellInfo.numPreferredBands int 1

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

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

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

gnb_A1.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_A1.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_A1.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_A1.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_A1.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_A1.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_A1.pppIf.pcapRecorder.helpers string ""

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

gnb_A1.pppIf.pcapRecorder.alwaysFlush bool false

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

gnb_A1.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_A1.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A1.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_A1.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_A1.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A1.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_A1.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_A1.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_A1.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_A1.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_A1.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_A1.x2ppp.pcapRecorder.helpers string ""

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

gnb_A1.x2ppp.pcapRecorder.alwaysFlush bool false

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

gnb_A1.x2ppp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_A1.x2ppp.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A1.x2ppp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_A1.x2ppp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_A1.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A1.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_A1.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_A1.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_A1.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_A1.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_A1.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_A1.pppMEHostIf.pcapRecorder.helpers string ""

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

gnb_A1.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

gnb_A1.pppMEHostIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_A1.pppMEHostIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A1.pppMEHostIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_A1.pppMEHostIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_A1.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A1.udp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A1.udp.icmpModule string "^.ipv4.icmp"
gnb_A1.udp.icmpv6Module string "^.ipv6.icmpv6"
gnb_A1.udp.crcMode string "declared"
gnb_A1.udp.defaultMulticastLoop bool true
gnb_A1.tcp.crcMode string "declared"
gnb_A1.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)

gnb_A1.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

gnb_A1.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

gnb_A1.tcp.limitedTransmitEnabled bool false

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

gnb_A1.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

gnb_A1.tcp.windowScalingSupport bool false

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

gnb_A1.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

gnb_A1.tcp.timestampSupport bool false

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

gnb_A1.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

gnb_A1.tcp.msl int 120s

Maximum Segment Lifetime

gnb_A1.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

gnb_A1.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

gnb_A1.tcp.dupthresh int 3

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

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

gnb_A1.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

gnb_A1.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A1.tcp.ecnWillingness bool false

true if willing to use ECN

gnb_A1.tcp.dctcpGamma double 0.0625

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

gnb_A1.x2App.client.localAddress string ""

comma separated list of addresses

gnb_A1.x2App.client.localPort int 0

port number to listen on

gnb_A1.x2App.client.connectAddress string

server address (may be symbolic)

gnb_A1.x2App.client.connectPort int 5000

port number to connect to

gnb_A1.x2App.client.startTime double 0s

time first session begins

gnb_A1.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

gnb_A1.x2App.client.thinkTime double 0s

time gap between requests

gnb_A1.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

gnb_A1.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

gnb_A1.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

gnb_A1.x2App.server.localPort int 0

port number to listen on

gnb_A1.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

gnb_A1.x2App.server.thinkTime double 0s

time gap between requests

gnb_A1.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

gnb_A1.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

gnb_A1.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

gnb_A1.sctp.tellArwnd bool false

for flowcontrol

gnb_A1.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

gnb_A1.sctp.cmtCCPathGroups string ""
gnb_A1.sctp.rpPathBlocking bool false
gnb_A1.sctp.rpScaleBlockingTimeout bool false
gnb_A1.sctp.rpMinCwnd int 1
gnb_A1.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

gnb_A1.nl.forwardServiceRegistration bool true
gnb_A1.nl.forwardProtocolRegistration bool true
gnb_A1.trafficFlowFilter.binderModule string "binder"
gnb_A1.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

gnb_A1.trafficFlowFilter.fastForwarding bool true
gnb_A1.gtpUser.binderModule string "binder"
gnb_A1.gtpUser.interfaceTableModule string

Path to the InterfaceTable module

gnb_A1.gtpUser.localPort int 31
gnb_A1.gtpUser.tunnelPeerPort int 31
gnb_A1.gtpUserX2.binderModule string "binder"
gnb_A1.gtpUserX2.localPort int 32
gnb_A1.gtpUserX2.tunnelPeerPort int 32
gnb_A2.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

gnb_A2.mobility.subjectModule string "^"

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

gnb_A2.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

gnb_A2.mobility.displayStringTextFormat string "p: %p\nv: %v"

format string for the mobility module's display string text

gnb_A2.mobility.updateDisplayString bool true

enables continuous update of the subject module's position via modifying its display string

gnb_A2.mobility.constraintAreaMinX double -inf m

min x position of the constraint area, unconstrained by default (negative infinity)

gnb_A2.mobility.constraintAreaMinY double -inf m

min y position of the constraint area, unconstrained by default (negative infinity)

gnb_A2.mobility.constraintAreaMinZ double -inf m

min z position of the constraint area, unconstrained by default (negative infinity)

gnb_A2.mobility.constraintAreaMaxX double inf m

max x position of the constraint area, unconstrained by default (positive infinity)

gnb_A2.mobility.constraintAreaMaxY double inf m

max y position of the constraint area, unconstrained by default (positive infinity)

gnb_A2.mobility.constraintAreaMaxZ double inf m

max z position of the constraint area, unconstrained by default (positive infinity)

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

enables one time initialization from the subject module's display string

gnb_A2.mobility.updateFromDisplayString bool true

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

gnb_A2.cellInfo.constraintAreaMinX double -1m/0

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

gnb_A2.cellInfo.constraintAreaMinY double -1m/0

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

gnb_A2.cellInfo.constraintAreaMaxX double 1m/0

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

gnb_A2.cellInfo.constraintAreaMaxY double 1m/0

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

gnb_A2.cellInfo.beaconInterval double 1s

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

gnb_A2.cellInfo.microCell bool false

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

gnb_A2.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

gnb_A2.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

gnb_A2.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

gnb_A2.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

gnb_A2.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

gnb_A2.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

gnb_A2.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

gnb_A2.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

gnb_A2.cellInfo.numPreferredBands int 1

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

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

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

gnb_A2.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_A2.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_A2.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_A2.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_A2.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_A2.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_A2.pppIf.pcapRecorder.helpers string ""

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

gnb_A2.pppIf.pcapRecorder.alwaysFlush bool false

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

gnb_A2.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_A2.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A2.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_A2.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_A2.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A2.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_A2.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_A2.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_A2.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_A2.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_A2.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_A2.x2ppp.pcapRecorder.helpers string ""

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

gnb_A2.x2ppp.pcapRecorder.alwaysFlush bool false

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

gnb_A2.x2ppp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_A2.x2ppp.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A2.x2ppp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_A2.x2ppp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_A2.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A2.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_A2.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_A2.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_A2.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_A2.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_A2.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_A2.pppMEHostIf.pcapRecorder.helpers string ""

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

gnb_A2.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

gnb_A2.pppMEHostIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_A2.pppMEHostIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A2.pppMEHostIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_A2.pppMEHostIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_A2.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A2.udp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A2.udp.icmpModule string "^.ipv4.icmp"
gnb_A2.udp.icmpv6Module string "^.ipv6.icmpv6"
gnb_A2.udp.crcMode string "declared"
gnb_A2.udp.defaultMulticastLoop bool true
gnb_A2.tcp.crcMode string "declared"
gnb_A2.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)

gnb_A2.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

gnb_A2.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

gnb_A2.tcp.limitedTransmitEnabled bool false

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

gnb_A2.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

gnb_A2.tcp.windowScalingSupport bool false

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

gnb_A2.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

gnb_A2.tcp.timestampSupport bool false

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

gnb_A2.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

gnb_A2.tcp.msl int 120s

Maximum Segment Lifetime

gnb_A2.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

gnb_A2.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

gnb_A2.tcp.dupthresh int 3

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

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

gnb_A2.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

gnb_A2.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A2.tcp.ecnWillingness bool false

true if willing to use ECN

gnb_A2.tcp.dctcpGamma double 0.0625

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

gnb_A2.x2App.client.localAddress string ""

comma separated list of addresses

gnb_A2.x2App.client.localPort int 0

port number to listen on

gnb_A2.x2App.client.connectAddress string

server address (may be symbolic)

gnb_A2.x2App.client.connectPort int 5000

port number to connect to

gnb_A2.x2App.client.startTime double 0s

time first session begins

gnb_A2.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

gnb_A2.x2App.client.thinkTime double 0s

time gap between requests

gnb_A2.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

gnb_A2.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

gnb_A2.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

gnb_A2.x2App.server.localPort int 0

port number to listen on

gnb_A2.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

gnb_A2.x2App.server.thinkTime double 0s

time gap between requests

gnb_A2.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

gnb_A2.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

gnb_A2.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

gnb_A2.sctp.tellArwnd bool false

for flowcontrol

gnb_A2.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

gnb_A2.sctp.cmtCCPathGroups string ""
gnb_A2.sctp.rpPathBlocking bool false
gnb_A2.sctp.rpScaleBlockingTimeout bool false
gnb_A2.sctp.rpMinCwnd int 1
gnb_A2.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

gnb_A2.nl.forwardServiceRegistration bool true
gnb_A2.nl.forwardProtocolRegistration bool true
gnb_A2.trafficFlowFilter.binderModule string "binder"
gnb_A2.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

gnb_A2.trafficFlowFilter.fastForwarding bool true
gnb_A2.gtpUser.binderModule string "binder"
gnb_A2.gtpUser.interfaceTableModule string

Path to the InterfaceTable module

gnb_A2.gtpUser.localPort int 31
gnb_A2.gtpUser.tunnelPeerPort int 31
gnb_A2.gtpUserX2.binderModule string "binder"
gnb_A2.gtpUserX2.localPort int 32
gnb_A2.gtpUserX2.tunnelPeerPort int 32
gnb_A3.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

gnb_A3.mobility.subjectModule string "^"

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

gnb_A3.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

gnb_A3.mobility.displayStringTextFormat string "p: %p\nv: %v"

format string for the mobility module's display string text

gnb_A3.mobility.updateDisplayString bool true

enables continuous update of the subject module's position via modifying its display string

gnb_A3.mobility.constraintAreaMinX double -inf m

min x position of the constraint area, unconstrained by default (negative infinity)

gnb_A3.mobility.constraintAreaMinY double -inf m

min y position of the constraint area, unconstrained by default (negative infinity)

gnb_A3.mobility.constraintAreaMinZ double -inf m

min z position of the constraint area, unconstrained by default (negative infinity)

gnb_A3.mobility.constraintAreaMaxX double inf m

max x position of the constraint area, unconstrained by default (positive infinity)

gnb_A3.mobility.constraintAreaMaxY double inf m

max y position of the constraint area, unconstrained by default (positive infinity)

gnb_A3.mobility.constraintAreaMaxZ double inf m

max z position of the constraint area, unconstrained by default (positive infinity)

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

enables one time initialization from the subject module's display string

gnb_A3.mobility.updateFromDisplayString bool true

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

gnb_A3.cellInfo.constraintAreaMinX double -1m/0

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

gnb_A3.cellInfo.constraintAreaMinY double -1m/0

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

gnb_A3.cellInfo.constraintAreaMaxX double 1m/0

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

gnb_A3.cellInfo.constraintAreaMaxY double 1m/0

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

gnb_A3.cellInfo.beaconInterval double 1s

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

gnb_A3.cellInfo.microCell bool false

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

gnb_A3.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

gnb_A3.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

gnb_A3.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

gnb_A3.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

gnb_A3.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

gnb_A3.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

gnb_A3.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

gnb_A3.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

gnb_A3.cellInfo.numPreferredBands int 1

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

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

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

gnb_A3.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_A3.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_A3.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_A3.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_A3.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_A3.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_A3.pppIf.pcapRecorder.helpers string ""

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

gnb_A3.pppIf.pcapRecorder.alwaysFlush bool false

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

gnb_A3.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_A3.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A3.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_A3.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_A3.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A3.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_A3.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_A3.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_A3.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_A3.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_A3.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_A3.x2ppp.pcapRecorder.helpers string ""

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

gnb_A3.x2ppp.pcapRecorder.alwaysFlush bool false

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

gnb_A3.x2ppp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_A3.x2ppp.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A3.x2ppp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_A3.x2ppp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_A3.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A3.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_A3.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_A3.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_A3.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_A3.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_A3.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_A3.pppMEHostIf.pcapRecorder.helpers string ""

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

gnb_A3.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

gnb_A3.pppMEHostIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_A3.pppMEHostIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A3.pppMEHostIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_A3.pppMEHostIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_A3.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A3.udp.interfaceTableModule string

The path to the InterfaceTable module

gnb_A3.udp.icmpModule string "^.ipv4.icmp"
gnb_A3.udp.icmpv6Module string "^.ipv6.icmpv6"
gnb_A3.udp.crcMode string "declared"
gnb_A3.udp.defaultMulticastLoop bool true
gnb_A3.tcp.crcMode string "declared"
gnb_A3.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)

gnb_A3.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

gnb_A3.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

gnb_A3.tcp.limitedTransmitEnabled bool false

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

gnb_A3.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

gnb_A3.tcp.windowScalingSupport bool false

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

gnb_A3.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

gnb_A3.tcp.timestampSupport bool false

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

gnb_A3.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

gnb_A3.tcp.msl int 120s

Maximum Segment Lifetime

gnb_A3.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

gnb_A3.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

gnb_A3.tcp.dupthresh int 3

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

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

gnb_A3.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

gnb_A3.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_A3.tcp.ecnWillingness bool false

true if willing to use ECN

gnb_A3.tcp.dctcpGamma double 0.0625

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

gnb_A3.x2App.client.localAddress string ""

comma separated list of addresses

gnb_A3.x2App.client.localPort int 0

port number to listen on

gnb_A3.x2App.client.connectAddress string

server address (may be symbolic)

gnb_A3.x2App.client.connectPort int 5000

port number to connect to

gnb_A3.x2App.client.startTime double 0s

time first session begins

gnb_A3.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

gnb_A3.x2App.client.thinkTime double 0s

time gap between requests

gnb_A3.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

gnb_A3.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

gnb_A3.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

gnb_A3.x2App.server.localPort int 0

port number to listen on

gnb_A3.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

gnb_A3.x2App.server.thinkTime double 0s

time gap between requests

gnb_A3.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

gnb_A3.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

gnb_A3.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

gnb_A3.sctp.tellArwnd bool false

for flowcontrol

gnb_A3.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

gnb_A3.sctp.cmtCCPathGroups string ""
gnb_A3.sctp.rpPathBlocking bool false
gnb_A3.sctp.rpScaleBlockingTimeout bool false
gnb_A3.sctp.rpMinCwnd int 1
gnb_A3.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

gnb_A3.nl.forwardServiceRegistration bool true
gnb_A3.nl.forwardProtocolRegistration bool true
gnb_A3.trafficFlowFilter.binderModule string "binder"
gnb_A3.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

gnb_A3.trafficFlowFilter.fastForwarding bool true
gnb_A3.gtpUser.binderModule string "binder"
gnb_A3.gtpUser.interfaceTableModule string

Path to the InterfaceTable module

gnb_A3.gtpUser.localPort int 31
gnb_A3.gtpUser.tunnelPeerPort int 31
gnb_A3.gtpUserX2.binderModule string "binder"
gnb_A3.gtpUserX2.localPort int 32
gnb_A3.gtpUserX2.tunnelPeerPort int 32
gnb_B1.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

gnb_B1.mobility.subjectModule string "^"

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

gnb_B1.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

gnb_B1.mobility.displayStringTextFormat string "p: %p\nv: %v"

format string for the mobility module's display string text

gnb_B1.mobility.updateDisplayString bool true

enables continuous update of the subject module's position via modifying its display string

gnb_B1.mobility.constraintAreaMinX double -inf m

min x position of the constraint area, unconstrained by default (negative infinity)

gnb_B1.mobility.constraintAreaMinY double -inf m

min y position of the constraint area, unconstrained by default (negative infinity)

gnb_B1.mobility.constraintAreaMinZ double -inf m

min z position of the constraint area, unconstrained by default (negative infinity)

gnb_B1.mobility.constraintAreaMaxX double inf m

max x position of the constraint area, unconstrained by default (positive infinity)

gnb_B1.mobility.constraintAreaMaxY double inf m

max y position of the constraint area, unconstrained by default (positive infinity)

gnb_B1.mobility.constraintAreaMaxZ double inf m

max z position of the constraint area, unconstrained by default (positive infinity)

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

enables one time initialization from the subject module's display string

gnb_B1.mobility.updateFromDisplayString bool true

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

gnb_B1.cellInfo.constraintAreaMinX double -1m/0

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

gnb_B1.cellInfo.constraintAreaMinY double -1m/0

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

gnb_B1.cellInfo.constraintAreaMaxX double 1m/0

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

gnb_B1.cellInfo.constraintAreaMaxY double 1m/0

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

gnb_B1.cellInfo.beaconInterval double 1s

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

gnb_B1.cellInfo.microCell bool false

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

gnb_B1.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

gnb_B1.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

gnb_B1.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

gnb_B1.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

gnb_B1.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

gnb_B1.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

gnb_B1.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

gnb_B1.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

gnb_B1.cellInfo.numPreferredBands int 1

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

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

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

gnb_B1.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_B1.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_B1.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_B1.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_B1.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_B1.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_B1.pppIf.pcapRecorder.helpers string ""

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

gnb_B1.pppIf.pcapRecorder.alwaysFlush bool false

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

gnb_B1.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_B1.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B1.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_B1.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_B1.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B1.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_B1.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_B1.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_B1.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_B1.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_B1.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_B1.x2ppp.pcapRecorder.helpers string ""

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

gnb_B1.x2ppp.pcapRecorder.alwaysFlush bool false

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

gnb_B1.x2ppp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_B1.x2ppp.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B1.x2ppp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_B1.x2ppp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_B1.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B1.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_B1.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_B1.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_B1.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_B1.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_B1.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_B1.pppMEHostIf.pcapRecorder.helpers string ""

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

gnb_B1.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

gnb_B1.pppMEHostIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_B1.pppMEHostIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B1.pppMEHostIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_B1.pppMEHostIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_B1.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B1.udp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B1.udp.icmpModule string "^.ipv4.icmp"
gnb_B1.udp.icmpv6Module string "^.ipv6.icmpv6"
gnb_B1.udp.crcMode string "declared"
gnb_B1.udp.defaultMulticastLoop bool true
gnb_B1.tcp.crcMode string "declared"
gnb_B1.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)

gnb_B1.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

gnb_B1.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

gnb_B1.tcp.limitedTransmitEnabled bool false

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

gnb_B1.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

gnb_B1.tcp.windowScalingSupport bool false

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

gnb_B1.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

gnb_B1.tcp.timestampSupport bool false

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

gnb_B1.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

gnb_B1.tcp.msl int 120s

Maximum Segment Lifetime

gnb_B1.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

gnb_B1.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

gnb_B1.tcp.dupthresh int 3

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

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

gnb_B1.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

gnb_B1.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B1.tcp.ecnWillingness bool false

true if willing to use ECN

gnb_B1.tcp.dctcpGamma double 0.0625

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

gnb_B1.x2App.client.localAddress string ""

comma separated list of addresses

gnb_B1.x2App.client.localPort int 0

port number to listen on

gnb_B1.x2App.client.connectAddress string

server address (may be symbolic)

gnb_B1.x2App.client.connectPort int 5000

port number to connect to

gnb_B1.x2App.client.startTime double 0s

time first session begins

gnb_B1.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

gnb_B1.x2App.client.thinkTime double 0s

time gap between requests

gnb_B1.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

gnb_B1.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

gnb_B1.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

gnb_B1.x2App.server.localPort int 0

port number to listen on

gnb_B1.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

gnb_B1.x2App.server.thinkTime double 0s

time gap between requests

gnb_B1.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

gnb_B1.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

gnb_B1.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

gnb_B1.sctp.tellArwnd bool false

for flowcontrol

gnb_B1.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

gnb_B1.sctp.cmtCCPathGroups string ""
gnb_B1.sctp.rpPathBlocking bool false
gnb_B1.sctp.rpScaleBlockingTimeout bool false
gnb_B1.sctp.rpMinCwnd int 1
gnb_B1.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

gnb_B1.nl.forwardServiceRegistration bool true
gnb_B1.nl.forwardProtocolRegistration bool true
gnb_B1.trafficFlowFilter.binderModule string "binder"
gnb_B1.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

gnb_B1.trafficFlowFilter.fastForwarding bool true
gnb_B1.gtpUser.binderModule string "binder"
gnb_B1.gtpUser.interfaceTableModule string

Path to the InterfaceTable module

gnb_B1.gtpUser.localPort int 31
gnb_B1.gtpUser.tunnelPeerPort int 31
gnb_B1.gtpUserX2.binderModule string "binder"
gnb_B1.gtpUserX2.localPort int 32
gnb_B1.gtpUserX2.tunnelPeerPort int 32
gnb_B2.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

gnb_B2.mobility.subjectModule string "^"

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

gnb_B2.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

gnb_B2.mobility.displayStringTextFormat string "p: %p\nv: %v"

format string for the mobility module's display string text

gnb_B2.mobility.updateDisplayString bool true

enables continuous update of the subject module's position via modifying its display string

gnb_B2.mobility.constraintAreaMinX double -inf m

min x position of the constraint area, unconstrained by default (negative infinity)

gnb_B2.mobility.constraintAreaMinY double -inf m

min y position of the constraint area, unconstrained by default (negative infinity)

gnb_B2.mobility.constraintAreaMinZ double -inf m

min z position of the constraint area, unconstrained by default (negative infinity)

gnb_B2.mobility.constraintAreaMaxX double inf m

max x position of the constraint area, unconstrained by default (positive infinity)

gnb_B2.mobility.constraintAreaMaxY double inf m

max y position of the constraint area, unconstrained by default (positive infinity)

gnb_B2.mobility.constraintAreaMaxZ double inf m

max z position of the constraint area, unconstrained by default (positive infinity)

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

enables one time initialization from the subject module's display string

gnb_B2.mobility.updateFromDisplayString bool true

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

gnb_B2.cellInfo.constraintAreaMinX double -1m/0

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

gnb_B2.cellInfo.constraintAreaMinY double -1m/0

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

gnb_B2.cellInfo.constraintAreaMaxX double 1m/0

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

gnb_B2.cellInfo.constraintAreaMaxY double 1m/0

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

gnb_B2.cellInfo.beaconInterval double 1s

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

gnb_B2.cellInfo.microCell bool false

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

gnb_B2.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

gnb_B2.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

gnb_B2.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

gnb_B2.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

gnb_B2.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

gnb_B2.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

gnb_B2.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

gnb_B2.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

gnb_B2.cellInfo.numPreferredBands int 1

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

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

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

gnb_B2.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_B2.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_B2.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_B2.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_B2.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_B2.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_B2.pppIf.pcapRecorder.helpers string ""

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

gnb_B2.pppIf.pcapRecorder.alwaysFlush bool false

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

gnb_B2.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_B2.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B2.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_B2.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_B2.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B2.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_B2.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_B2.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_B2.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_B2.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_B2.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_B2.x2ppp.pcapRecorder.helpers string ""

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

gnb_B2.x2ppp.pcapRecorder.alwaysFlush bool false

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

gnb_B2.x2ppp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_B2.x2ppp.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B2.x2ppp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_B2.x2ppp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_B2.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B2.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_B2.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_B2.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_B2.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_B2.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_B2.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_B2.pppMEHostIf.pcapRecorder.helpers string ""

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

gnb_B2.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

gnb_B2.pppMEHostIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_B2.pppMEHostIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B2.pppMEHostIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_B2.pppMEHostIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_B2.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B2.udp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B2.udp.icmpModule string "^.ipv4.icmp"
gnb_B2.udp.icmpv6Module string "^.ipv6.icmpv6"
gnb_B2.udp.crcMode string "declared"
gnb_B2.udp.defaultMulticastLoop bool true
gnb_B2.tcp.crcMode string "declared"
gnb_B2.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)

gnb_B2.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

gnb_B2.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

gnb_B2.tcp.limitedTransmitEnabled bool false

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

gnb_B2.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

gnb_B2.tcp.windowScalingSupport bool false

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

gnb_B2.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

gnb_B2.tcp.timestampSupport bool false

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

gnb_B2.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

gnb_B2.tcp.msl int 120s

Maximum Segment Lifetime

gnb_B2.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

gnb_B2.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

gnb_B2.tcp.dupthresh int 3

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

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

gnb_B2.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

gnb_B2.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B2.tcp.ecnWillingness bool false

true if willing to use ECN

gnb_B2.tcp.dctcpGamma double 0.0625

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

gnb_B2.x2App.client.localAddress string ""

comma separated list of addresses

gnb_B2.x2App.client.localPort int 0

port number to listen on

gnb_B2.x2App.client.connectAddress string

server address (may be symbolic)

gnb_B2.x2App.client.connectPort int 5000

port number to connect to

gnb_B2.x2App.client.startTime double 0s

time first session begins

gnb_B2.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

gnb_B2.x2App.client.thinkTime double 0s

time gap between requests

gnb_B2.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

gnb_B2.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

gnb_B2.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

gnb_B2.x2App.server.localPort int 0

port number to listen on

gnb_B2.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

gnb_B2.x2App.server.thinkTime double 0s

time gap between requests

gnb_B2.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

gnb_B2.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

gnb_B2.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

gnb_B2.sctp.tellArwnd bool false

for flowcontrol

gnb_B2.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

gnb_B2.sctp.cmtCCPathGroups string ""
gnb_B2.sctp.rpPathBlocking bool false
gnb_B2.sctp.rpScaleBlockingTimeout bool false
gnb_B2.sctp.rpMinCwnd int 1
gnb_B2.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

gnb_B2.nl.forwardServiceRegistration bool true
gnb_B2.nl.forwardProtocolRegistration bool true
gnb_B2.trafficFlowFilter.binderModule string "binder"
gnb_B2.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

gnb_B2.trafficFlowFilter.fastForwarding bool true
gnb_B2.gtpUser.binderModule string "binder"
gnb_B2.gtpUser.interfaceTableModule string

Path to the InterfaceTable module

gnb_B2.gtpUser.localPort int 31
gnb_B2.gtpUser.tunnelPeerPort int 31
gnb_B2.gtpUserX2.binderModule string "binder"
gnb_B2.gtpUserX2.localPort int 32
gnb_B2.gtpUserX2.tunnelPeerPort int 32
gnb_B3.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

gnb_B3.mobility.subjectModule string "^"

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

gnb_B3.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

gnb_B3.mobility.displayStringTextFormat string "p: %p\nv: %v"

format string for the mobility module's display string text

gnb_B3.mobility.updateDisplayString bool true

enables continuous update of the subject module's position via modifying its display string

gnb_B3.mobility.constraintAreaMinX double -inf m

min x position of the constraint area, unconstrained by default (negative infinity)

gnb_B3.mobility.constraintAreaMinY double -inf m

min y position of the constraint area, unconstrained by default (negative infinity)

gnb_B3.mobility.constraintAreaMinZ double -inf m

min z position of the constraint area, unconstrained by default (negative infinity)

gnb_B3.mobility.constraintAreaMaxX double inf m

max x position of the constraint area, unconstrained by default (positive infinity)

gnb_B3.mobility.constraintAreaMaxY double inf m

max y position of the constraint area, unconstrained by default (positive infinity)

gnb_B3.mobility.constraintAreaMaxZ double inf m

max z position of the constraint area, unconstrained by default (positive infinity)

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

enables one time initialization from the subject module's display string

gnb_B3.mobility.updateFromDisplayString bool true

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

gnb_B3.cellInfo.constraintAreaMinX double -1m/0

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

gnb_B3.cellInfo.constraintAreaMinY double -1m/0

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

gnb_B3.cellInfo.constraintAreaMaxX double 1m/0

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

gnb_B3.cellInfo.constraintAreaMaxY double 1m/0

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

gnb_B3.cellInfo.beaconInterval double 1s

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

gnb_B3.cellInfo.microCell bool false

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

gnb_B3.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

gnb_B3.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

gnb_B3.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

gnb_B3.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

gnb_B3.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

gnb_B3.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

gnb_B3.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

gnb_B3.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

gnb_B3.cellInfo.numPreferredBands int 1

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

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

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

gnb_B3.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_B3.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_B3.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_B3.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_B3.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_B3.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_B3.pppIf.pcapRecorder.helpers string ""

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

gnb_B3.pppIf.pcapRecorder.alwaysFlush bool false

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

gnb_B3.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_B3.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B3.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_B3.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_B3.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B3.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_B3.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_B3.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_B3.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_B3.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_B3.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_B3.x2ppp.pcapRecorder.helpers string ""

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

gnb_B3.x2ppp.pcapRecorder.alwaysFlush bool false

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

gnb_B3.x2ppp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_B3.x2ppp.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B3.x2ppp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_B3.x2ppp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_B3.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B3.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

gnb_B3.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

gnb_B3.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

gnb_B3.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

gnb_B3.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

gnb_B3.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

gnb_B3.pppMEHostIf.pcapRecorder.helpers string ""

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

gnb_B3.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

gnb_B3.pppMEHostIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
gnb_B3.pppMEHostIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B3.pppMEHostIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
gnb_B3.pppMEHostIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

gnb_B3.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B3.udp.interfaceTableModule string

The path to the InterfaceTable module

gnb_B3.udp.icmpModule string "^.ipv4.icmp"
gnb_B3.udp.icmpv6Module string "^.ipv6.icmpv6"
gnb_B3.udp.crcMode string "declared"
gnb_B3.udp.defaultMulticastLoop bool true
gnb_B3.tcp.crcMode string "declared"
gnb_B3.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)

gnb_B3.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

gnb_B3.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

gnb_B3.tcp.limitedTransmitEnabled bool false

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

gnb_B3.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

gnb_B3.tcp.windowScalingSupport bool false

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

gnb_B3.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

gnb_B3.tcp.timestampSupport bool false

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

gnb_B3.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

gnb_B3.tcp.msl int 120s

Maximum Segment Lifetime

gnb_B3.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

gnb_B3.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

gnb_B3.tcp.dupthresh int 3

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

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

gnb_B3.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

gnb_B3.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

gnb_B3.tcp.ecnWillingness bool false

true if willing to use ECN

gnb_B3.tcp.dctcpGamma double 0.0625

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

gnb_B3.x2App.client.localAddress string ""

comma separated list of addresses

gnb_B3.x2App.client.localPort int 0

port number to listen on

gnb_B3.x2App.client.connectAddress string

server address (may be symbolic)

gnb_B3.x2App.client.connectPort int 5000

port number to connect to

gnb_B3.x2App.client.startTime double 0s

time first session begins

gnb_B3.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

gnb_B3.x2App.client.thinkTime double 0s

time gap between requests

gnb_B3.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

gnb_B3.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

gnb_B3.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

gnb_B3.x2App.server.localPort int 0

port number to listen on

gnb_B3.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

gnb_B3.x2App.server.thinkTime double 0s

time gap between requests

gnb_B3.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

gnb_B3.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

gnb_B3.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

gnb_B3.sctp.tellArwnd bool false

for flowcontrol

gnb_B3.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

gnb_B3.sctp.cmtCCPathGroups string ""
gnb_B3.sctp.rpPathBlocking bool false
gnb_B3.sctp.rpScaleBlockingTimeout bool false
gnb_B3.sctp.rpMinCwnd int 1
gnb_B3.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

gnb_B3.nl.forwardServiceRegistration bool true
gnb_B3.nl.forwardProtocolRegistration bool true
gnb_B3.trafficFlowFilter.binderModule string "binder"
gnb_B3.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

gnb_B3.trafficFlowFilter.fastForwarding bool true
gnb_B3.gtpUser.binderModule string "binder"
gnb_B3.gtpUser.interfaceTableModule string

Path to the InterfaceTable module

gnb_B3.gtpUser.localPort int 31
gnb_B3.gtpUser.tunnelPeerPort int 31
gnb_B3.gtpUserX2.binderModule string "binder"
gnb_B3.gtpUserX2.localPort int 32
gnb_B3.gtpUserX2.tunnelPeerPort int 32
bgCell.mobility.subjectModule string "^"

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

bgCell.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

bgCell.mobility.displayStringTextFormat string "p: %p\nv: %v"

format string for the mobility module's display string text

bgCell.mobility.updateDisplayString bool true

enables continuous update of the subject module's position via modifying its display string

bgCell.mobility.constraintAreaMinX double -inf m

min x position of the constraint area, unconstrained by default (negative infinity)

bgCell.mobility.constraintAreaMinY double -inf m

min y position of the constraint area, unconstrained by default (negative infinity)

bgCell.mobility.constraintAreaMinZ double -inf m

min z position of the constraint area, unconstrained by default (negative infinity)

bgCell.mobility.constraintAreaMaxX double inf m

max x position of the constraint area, unconstrained by default (positive infinity)

bgCell.mobility.constraintAreaMaxY double inf m

max y position of the constraint area, unconstrained by default (positive infinity)

bgCell.mobility.constraintAreaMaxZ double inf m

max z position of the constraint area, unconstrained by default (positive infinity)

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

enables one time initialization from the subject module's display string

bgCell.mobility.updateFromDisplayString bool true

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

bgCell.bgChannelModel.binderModule string "binder"

Module references

bgCell.bgChannelModel.shadowing bool true

Enable/disable shadowing

bgCell.bgChannelModel.scenario string "URBAN_MACROCELL"

Path loss scenario, in ITU terminology

bgCell.bgChannelModel.nodebHeight double 25m

eNodeB height

bgCell.bgChannelModel.buildingHeight double 20m

Building height

bgCell.bgChannelModel.insideBuilding bool false

Determines if the UE is inside a building

bgCell.bgChannelModel.streetWidth double 20m

TODO width

bgCell.bgChannelModel.ueHeight double 1.5m
bgCell.bgChannelModel.tolerateMaxDistViolation bool false
bgCell.bgChannelModel.correlationDistance double 50m
bgCell.bgChannelModel.antennaGainUe double 0dBi

Antenna gain of the UE, relative to an isotropic antenna

bgCell.bgChannelModel.antennGainEnB double 18dBi

Antenna gain of the eNodeB

bgCell.bgChannelModel.antennGainMicro double 5dBi

Antenna gain of the micro node

bgCell.bgChannelModel.thermalNoise double -104.5dBm

Thermal noise for 10 MHz of bandwidth

bgCell.bgChannelModel.ueNoiseFigure double 7dBm

UE noise figure

bgCell.bgChannelModel.bsNoiseFigure double 5dBm

eNodeB noise figure

bgCell.bgChannelModel.cableLoss double 2dB

Cable loss

bgCell.bgChannelModel.dynamicLos bool false

Whether LOS/NLOS is drawn per link from the scenario's LOS probability; when false, it is fixed to fixedLos

bgCell.bgChannelModel.fixedLos bool false

LOS state of every link when dynamicLos is false: true = LOS, false = NLOS

bgCell.bgChannelModel.fading bool true

Enable/disable fading

bgCell.bgChannelModel.fadingType string "JAKES"

Fading type (JAKES or RAYLEIGH)

bgCell.bgChannelModel.numFadingPaths int 6

If Jakes fading, this parameter specifies the number of paths (tap channel)

bgCell.bgChannelModel.delayRms double 363ns
bgCell.bgChannelModel.bgCellInterference bool true

Whether interference from the other background cells is included in the SINR, in both UL and DL

bgCell.bgChannelModel.downlinkInterference bool true

Whether interference from other base stations is included in the DL SINR

bgCell.bgChannelModel.uplinkInterference bool true

Whether interference from the UEs of other cells is included in the UL SINR

bgCell.bgScheduler.binderModule string "binder"
bgCell.bgScheduler.channelModelModule string "^.bgChannelModel"
bgCell.bgScheduler.txPower double 46dBm

Transmission power

bgCell.bgScheduler.txDirection string "OMNI"

Transmission direction

bgCell.bgScheduler.txAngle double 0deg

Transmission angle

bgCell.bgScheduler.isNr bool false

Flag to indicate whether this is a NR base station

bgCell.bgScheduler.numerologyIndex int 0

Operating carrier

bgCell.bgScheduler.carrierFrequency double 2GHz

Operating carrier

bgCell.bgScheduler.numBands int 6

Carrier bandwidth

ue_A.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

ue_A.eth.bitrate double
ue_A.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

ue_A.nl.forwardServiceRegistration bool true
ue_A.nl.forwardProtocolRegistration bool true
ue_A.pcapRecorder.verbose bool true

whether to log packets on the module output

ue_A.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

ue_A.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

ue_A.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

ue_A.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

ue_A.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

ue_A.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

ue_A.pcapRecorder.helpers string ""

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

ue_A.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

ue_B.eth.bitrate double
ue_B.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

ue_B.nl.forwardServiceRegistration bool true
ue_B.nl.forwardProtocolRegistration bool true
ue_B.pcapRecorder.verbose bool true

whether to log packets on the module output

ue_B.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

ue_B.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

ue_B.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

ue_B.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

ue_B.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

ue_B.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

ue_B.pcapRecorder.helpers string ""

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

ue_B.pcapRecorder.alwaysFlush bool false

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

ue_B.pcapRecorder.displayStringTextFormat string "rec: %n pks"
mecHost_A.virtualisationInfrastructure.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

mecHost_A.virtualisationInfrastructure.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

mecHost_A.virtualisationInfrastructure.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

mecHost_A.virtualisationInfrastructure.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

mecHost_A.virtualisationInfrastructure.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

mecHost_A.virtualisationInfrastructure.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

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

which packets are considered, matches all packets by default

mecHost_A.virtualisationInfrastructure.pppIf.pcapRecorder.helpers string ""

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

mecHost_A.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_A.virtualisationInfrastructure.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
mecHost_A.virtualisationInfrastructure.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

mecHost_A.virtualisationInfrastructure.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
mecHost_A.virtualisationInfrastructure.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

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

timeout value for lifecycle stop operation

mecHost_A.virtualisationInfrastructure.extEth.bitrate double
mecHost_A.virtualisationInfrastructure.udp.interfaceTableModule string

The path to the InterfaceTable module

mecHost_A.virtualisationInfrastructure.udp.icmpModule string "^.ipv4.icmp"
mecHost_A.virtualisationInfrastructure.udp.icmpv6Module string "^.ipv6.icmpv6"
mecHost_A.virtualisationInfrastructure.udp.crcMode string "declared"
mecHost_A.virtualisationInfrastructure.udp.defaultMulticastLoop bool true
mecHost_A.virtualisationInfrastructure.tcp.crcMode string "declared"
mecHost_A.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_A.virtualisationInfrastructure.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

mecHost_A.virtualisationInfrastructure.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

mecHost_A.virtualisationInfrastructure.tcp.limitedTransmitEnabled bool false

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

mecHost_A.virtualisationInfrastructure.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

mecHost_A.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_A.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_A.virtualisationInfrastructure.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

mecHost_A.virtualisationInfrastructure.tcp.timestampSupport bool false

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

mecHost_A.virtualisationInfrastructure.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

mecHost_A.virtualisationInfrastructure.tcp.msl int 120s

Maximum Segment Lifetime

mecHost_A.virtualisationInfrastructure.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

mecHost_A.virtualisationInfrastructure.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

mecHost_A.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_A.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_A.virtualisationInfrastructure.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

mecHost_A.virtualisationInfrastructure.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

mecHost_A.virtualisationInfrastructure.tcp.ecnWillingness bool false

true if willing to use ECN

mecHost_A.virtualisationInfrastructure.tcp.dctcpGamma double 0.0625

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

mecHost_A.virtualisationInfrastructure.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

mecHost_A.virtualisationInfrastructure.nl.forwardServiceRegistration bool true
mecHost_A.virtualisationInfrastructure.nl.forwardProtocolRegistration bool true
mecHost_A.mecPlatform.serviceRegistry.serviceName string "ServiceRegistry"
mecHost_A.mecPlatform.serviceRegistry.requestQueueSize int 0
mecHost_A.mecPlatform.serviceRegistry.subscriptionQueueSize int 0
mecHost_A.mecPlatform.serviceRegistry.localAddress string ""

Local address; may be left empty ("")

mecHost_A.mecPlatform.serviceRegistry.localPort int 1000

localPort number to listen on

mecHost_A.mecPlatform.serviceRegistry.requestServiceTime double 15us
mecHost_A.mecPlatform.serviceRegistry.subscriptionServiceTime double 20us
mecHost_A.mecPlatform.serviceRegistry.serverThreadClass string "simu5g.mec.platform.services.base.SocketManager"
mecHost_A.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_A.mecPlatform.serviceRegistry.binderModule string "binder"
mecHost_A.mecPlatformManager.mecOrchestrator string
mecHost_A.mecPlatformManager.serviceRegistryModule string "^.mecPlatform.serviceRegistry"
mecHost_A.mecPlatformManager.vimModule string "^.vim"
mecHost_A.vim.binderModule string "binder"
mecHost_A.vim.mp1Port int 10021
mecHost_A.vim.scheduling string "segregation"
mecHost_A.upf_mec.status.initialStatus string "UP"

TODO @signal, @statistic

mecHost_A.upf_mec.pcapRecorder.verbose bool true

whether to log packets on the module output

mecHost_A.upf_mec.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

mecHost_A.upf_mec.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

mecHost_A.upf_mec.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

mecHost_A.upf_mec.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

mecHost_A.upf_mec.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

mecHost_A.upf_mec.pcapRecorder.helpers string ""

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

mecHost_A.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_A.upf_mec.pcapRecorder.displayStringTextFormat string "rec: %n pks"
mecHost_A.upf_mec.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

mecHost_A.upf_mec.at.forwardServiceRegistration bool true
mecHost_A.upf_mec.at.forwardProtocolRegistration bool true
mecHost_A.upf_mec.dnPpp.pcapRecorder.verbose bool true

whether to log packets on the module output

mecHost_A.upf_mec.dnPpp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

mecHost_A.upf_mec.dnPpp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

mecHost_A.upf_mec.dnPpp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

mecHost_A.upf_mec.dnPpp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

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

which packets are considered, matches all packets by default

mecHost_A.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_A.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_A.upf_mec.dnPpp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
mecHost_A.upf_mec.dnPpp.ppp.interfaceTableModule string

The path to the InterfaceTable module

mecHost_A.upf_mec.dnPpp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
mecHost_A.upf_mec.dnPpp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

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

timeout value for lifecycle stop operation

mecHost_A.upf_mec.trafficFlowFilter.binderModule string "binder"
mecHost_A.upf_mec.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

mecHost_A.upf_mec.trafficFlowFilter.fastForwarding bool true
mecHost_A.upf_mec.gtp_user.binderModule string "binder"
mecHost_A.upf_mec.gtp_user.interfaceTableModule string

Path to the InterfaceTable module

mecHost_A.upf_mec.gtp_user.ipOutInterface string ""

Optional: manual specification of outgoing interface for received IP

mecHost_A.upf_mec.gtp_user.localPort int 31
mecHost_A.upf_mec.gtp_user.tunnelPeerPort int 31
mecHost_B.virtualisationInfrastructure.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

mecHost_B.virtualisationInfrastructure.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

mecHost_B.virtualisationInfrastructure.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

mecHost_B.virtualisationInfrastructure.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

mecHost_B.virtualisationInfrastructure.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

mecHost_B.virtualisationInfrastructure.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

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

which packets are considered, matches all packets by default

mecHost_B.virtualisationInfrastructure.pppIf.pcapRecorder.helpers string ""

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

mecHost_B.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_B.virtualisationInfrastructure.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
mecHost_B.virtualisationInfrastructure.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

mecHost_B.virtualisationInfrastructure.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
mecHost_B.virtualisationInfrastructure.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

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

timeout value for lifecycle stop operation

mecHost_B.virtualisationInfrastructure.extEth.bitrate double
mecHost_B.virtualisationInfrastructure.udp.interfaceTableModule string

The path to the InterfaceTable module

mecHost_B.virtualisationInfrastructure.udp.icmpModule string "^.ipv4.icmp"
mecHost_B.virtualisationInfrastructure.udp.icmpv6Module string "^.ipv6.icmpv6"
mecHost_B.virtualisationInfrastructure.udp.crcMode string "declared"
mecHost_B.virtualisationInfrastructure.udp.defaultMulticastLoop bool true
mecHost_B.virtualisationInfrastructure.tcp.crcMode string "declared"
mecHost_B.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_B.virtualisationInfrastructure.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

mecHost_B.virtualisationInfrastructure.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

mecHost_B.virtualisationInfrastructure.tcp.limitedTransmitEnabled bool false

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

mecHost_B.virtualisationInfrastructure.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

mecHost_B.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_B.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_B.virtualisationInfrastructure.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

mecHost_B.virtualisationInfrastructure.tcp.timestampSupport bool false

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

mecHost_B.virtualisationInfrastructure.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

mecHost_B.virtualisationInfrastructure.tcp.msl int 120s

Maximum Segment Lifetime

mecHost_B.virtualisationInfrastructure.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

mecHost_B.virtualisationInfrastructure.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

mecHost_B.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_B.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_B.virtualisationInfrastructure.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

mecHost_B.virtualisationInfrastructure.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

mecHost_B.virtualisationInfrastructure.tcp.ecnWillingness bool false

true if willing to use ECN

mecHost_B.virtualisationInfrastructure.tcp.dctcpGamma double 0.0625

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

mecHost_B.virtualisationInfrastructure.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

mecHost_B.virtualisationInfrastructure.nl.forwardServiceRegistration bool true
mecHost_B.virtualisationInfrastructure.nl.forwardProtocolRegistration bool true
mecHost_B.mecPlatform.serviceRegistry.serviceName string "ServiceRegistry"
mecHost_B.mecPlatform.serviceRegistry.requestQueueSize int 0
mecHost_B.mecPlatform.serviceRegistry.subscriptionQueueSize int 0
mecHost_B.mecPlatform.serviceRegistry.localAddress string ""

Local address; may be left empty ("")

mecHost_B.mecPlatform.serviceRegistry.localPort int 1000

localPort number to listen on

mecHost_B.mecPlatform.serviceRegistry.requestServiceTime double 15us
mecHost_B.mecPlatform.serviceRegistry.subscriptionServiceTime double 20us
mecHost_B.mecPlatform.serviceRegistry.serverThreadClass string "simu5g.mec.platform.services.base.SocketManager"
mecHost_B.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_B.mecPlatform.serviceRegistry.binderModule string "binder"
mecHost_B.mecPlatformManager.mecOrchestrator string
mecHost_B.mecPlatformManager.serviceRegistryModule string "^.mecPlatform.serviceRegistry"
mecHost_B.mecPlatformManager.vimModule string "^.vim"
mecHost_B.vim.binderModule string "binder"
mecHost_B.vim.mp1Port int 10021
mecHost_B.vim.scheduling string "segregation"
mecHost_B.upf_mec.status.initialStatus string "UP"

TODO @signal, @statistic

mecHost_B.upf_mec.pcapRecorder.verbose bool true

whether to log packets on the module output

mecHost_B.upf_mec.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

mecHost_B.upf_mec.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

mecHost_B.upf_mec.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

mecHost_B.upf_mec.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

mecHost_B.upf_mec.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

mecHost_B.upf_mec.pcapRecorder.helpers string ""

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

mecHost_B.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_B.upf_mec.pcapRecorder.displayStringTextFormat string "rec: %n pks"
mecHost_B.upf_mec.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

mecHost_B.upf_mec.at.forwardServiceRegistration bool true
mecHost_B.upf_mec.at.forwardProtocolRegistration bool true
mecHost_B.upf_mec.dnPpp.pcapRecorder.verbose bool true

whether to log packets on the module output

mecHost_B.upf_mec.dnPpp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

mecHost_B.upf_mec.dnPpp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

mecHost_B.upf_mec.dnPpp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

mecHost_B.upf_mec.dnPpp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

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

which packets are considered, matches all packets by default

mecHost_B.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_B.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_B.upf_mec.dnPpp.pcapRecorder.displayStringTextFormat string "rec: %n pks"
mecHost_B.upf_mec.dnPpp.ppp.interfaceTableModule string

The path to the InterfaceTable module

mecHost_B.upf_mec.dnPpp.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
mecHost_B.upf_mec.dnPpp.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

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

timeout value for lifecycle stop operation

mecHost_B.upf_mec.trafficFlowFilter.binderModule string "binder"
mecHost_B.upf_mec.trafficFlowFilter.bearerConfiguratorModule string "bearerConfigurator"

Where a core-network instance registers for QFI-rule delivery

mecHost_B.upf_mec.trafficFlowFilter.fastForwarding bool true
mecHost_B.upf_mec.gtp_user.binderModule string "binder"
mecHost_B.upf_mec.gtp_user.interfaceTableModule string

Path to the InterfaceTable module

mecHost_B.upf_mec.gtp_user.ipOutInterface string ""

Optional: manual specification of outgoing interface for received IP

mecHost_B.upf_mec.gtp_user.localPort int 31
mecHost_B.upf_mec.gtp_user.tunnelPeerPort int 31
mecOrchestrator_A.binderModule string "binder"
mecOrchestrator_A.selectionPolicy string "MecServiceBased"

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

mecOrchestrator_A.mecHostIndex int 0

To be used with the MecHostBased policy

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

Times to simulate lifecycle operations

mecOrchestrator_A.instantiationTime double 50ms
mecOrchestrator_A.terminationTime double 50ms
mecOrchestrator_B.binderModule string "binder"
mecOrchestrator_B.selectionPolicy string "MecServiceBased"

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

mecOrchestrator_B.mecHostIndex int 0

To be used with the MecHostBased policy

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

Times to simulate lifecycle operations

mecOrchestrator_B.instantiationTime double 50ms
mecOrchestrator_B.terminationTime double 50ms
ualcmp_A.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

ualcmp_A.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

ualcmp_A.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

ualcmp_A.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

ualcmp_A.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

ualcmp_A.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

ualcmp_A.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

ualcmp_A.pppIf.pcapRecorder.helpers string ""

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

ualcmp_A.pppIf.pcapRecorder.alwaysFlush bool false

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

ualcmp_A.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
ualcmp_A.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

ualcmp_A.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
ualcmp_A.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

ualcmp_A.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

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

Local address; may be left empty ("")

ualcmp_A.ualcmpApp.localPort int 1000

localPort number to listen on

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

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

ualcmp_A.udp.interfaceTableModule string

The path to the InterfaceTable module

ualcmp_A.udp.icmpModule string "^.ipv4.icmp"
ualcmp_A.udp.icmpv6Module string "^.ipv6.icmpv6"
ualcmp_A.udp.crcMode string "declared"
ualcmp_A.udp.defaultMulticastLoop bool true
ualcmp_A.tcp.crcMode string "declared"
ualcmp_A.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_A.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

ualcmp_A.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

ualcmp_A.tcp.limitedTransmitEnabled bool false

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

ualcmp_A.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

ualcmp_A.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_A.tcp.windowScalingSupport bool false

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

ualcmp_A.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

ualcmp_A.tcp.timestampSupport bool false

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

ualcmp_A.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

ualcmp_A.tcp.msl int 120s

Maximum Segment Lifetime

ualcmp_A.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

ualcmp_A.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

ualcmp_A.tcp.dupthresh int 3

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

ualcmp_A.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_A.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

ualcmp_A.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

ualcmp_A.tcp.ecnWillingness bool false

true if willing to use ECN

ualcmp_A.tcp.dctcpGamma double 0.0625

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

ualcmp_A.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

ualcmp_A.nl.forwardServiceRegistration bool true
ualcmp_A.nl.forwardProtocolRegistration bool true
ualcmp_B.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

ualcmp_B.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

ualcmp_B.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

ualcmp_B.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

ualcmp_B.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

ualcmp_B.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

ualcmp_B.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

ualcmp_B.pppIf.pcapRecorder.helpers string ""

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

ualcmp_B.pppIf.pcapRecorder.alwaysFlush bool false

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

ualcmp_B.pppIf.pcapRecorder.displayStringTextFormat string "rec: %n pks"
ualcmp_B.pppIf.ppp.interfaceTableModule string

The path to the InterfaceTable module

ualcmp_B.pppIf.ppp.displayStringTextFormat string "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d"
ualcmp_B.pppIf.ppp.sendRawBytes bool false

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

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

extra time after lifecycle stop operation finished

ualcmp_B.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

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

Local address; may be left empty ("")

ualcmp_B.ualcmpApp.localPort int 1000

localPort number to listen on

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

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

ualcmp_B.udp.interfaceTableModule string

The path to the InterfaceTable module

ualcmp_B.udp.icmpModule string "^.ipv4.icmp"
ualcmp_B.udp.icmpv6Module string "^.ipv6.icmpv6"
ualcmp_B.udp.crcMode string "declared"
ualcmp_B.udp.defaultMulticastLoop bool true
ualcmp_B.tcp.crcMode string "declared"
ualcmp_B.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_B.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

ualcmp_B.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

ualcmp_B.tcp.limitedTransmitEnabled bool false

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

ualcmp_B.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

ualcmp_B.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_B.tcp.windowScalingSupport bool false

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

ualcmp_B.tcp.windowScalingFactor int -1

Window Scaling Factor to the power of 2. -1 indicates that manual window scaling is turned off.

ualcmp_B.tcp.timestampSupport bool false

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

ualcmp_B.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

ualcmp_B.tcp.msl int 120s

Maximum Segment Lifetime

ualcmp_B.tcp.tcpAlgorithmClass string "TcpReno"

TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl")

ualcmp_B.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

ualcmp_B.tcp.dupthresh int 3

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

ualcmp_B.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_B.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

ualcmp_B.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

ualcmp_B.tcp.ecnWillingness bool false

true if willing to use ECN

ualcmp_B.tcp.dctcpGamma double 0.0625

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

ualcmp_B.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

ualcmp_B.nl.forwardServiceRegistration bool true
ualcmp_B.nl.forwardProtocolRegistration bool true

Source code

//
// Two operator networks side by side. Each has three ~gNodeB cells chained by X2,
// an intermediate ~Upf that feeds them and carries the operator's ~MecHost, an
// anchor ~Upf, and a ~Ualcmp with its ~MecOrchestrator. The two anchor ~Upf nodes
// meet at a shared router, the only node the operators have in common. numUe_A
// and numUe_B ~NrUe terminals attach to operator A and B respectively, and
// numBgCells ~BackgroundCell cells can be added as interferers.
//
// Operator B's MEC system -- its ~MecHost, ~MecOrchestrator and ~Ualcmp -- is
// conditional on the enableMecOperatorB parameter. The addresses of the network
// interfaces are assigned in demo.xml.
//
network MultiOperator
{
    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);
        int numUe_A = default(1);
        int numUe_B = default(1);
        int numBgCells = default(0);
        bool enableMecOperatorB = default(true);
        @display("i=block/network2;bgb=1627,801;bgi=background/pisa");
    submodules:
        channelControl: LteChannelControl {
            @display("p=50,25;is=s");
        }
        routingRecorder: RoutingTableRecorder {
            @display("p=50,75;is=s");
        }
        configurator: Ipv4NetworkConfigurator {
            @display("p=50,125;is=s");
        }
        binder: Binder {
            @display("p=50,175;is=s");
        }
        bearerConfigurator: BearerConfigurator {
            @display("p=50,225;is=s");
        }
        carrierAggregation: CarrierAggregation {
            @display("p=50,275;is=s");
        }
        router: Router {
            @display("p=750,73");
        }
        upf_A: Upf {
            @display("p=625,173");
        }
        upf_B: Upf {
            @display("p=875,173");
        }
        iUpf_A: Upf {
            @display("p=623,281");
        }
        iUpf_B: Upf {
            @display("p=874,281");
        }
        gnb_A1: gNodeB {
            @display("p=274,454;is=vl");
        }
        gnb_A2: gNodeB {
            @display("p=800,452;is=vl");
        }
        gnb_A3: gNodeB {
            @display("p=1245,452;is=vl");
        }
        gnb_B1: gNodeB {
            @display("p=330,514;is=vl");
        }
        gnb_B2: gNodeB {
            @display("p=848,513;is=vl");
        }
        gnb_B3: gNodeB {
            @display("p=1304,513;is=vl");
        }
        bgCell[numBgCells]: BackgroundCell {
            @display("p=138,630;is=vl");
        }
        ue_A[numUe_A]: NrUe {
            @display("p=717,691");
        }
        ue_B[numUe_B]: NrUe {
            @display("p=937,691");
        }

        //# MEC modules
        mecHost_A: MecHost {
            @display("p=273,281");
        }
        mecHost_B: MecHost if enableMecOperatorB {
            @display("p=1245,281");
        }
        mecOrchestrator_A: MecOrchestrator {
            @display("p=273,73");
        }
        mecOrchestrator_B: MecOrchestrator if enableMecOperatorB {
            @display("p=1245,73");
        }
        ualcmp_A: Ualcmp {
            @display("p=490,73");
        }
        ualcmp_B: Ualcmp if enableMecOperatorB {
            @display("p=1027,73");
        }

    connections:

        //# 5G Core Network connections
        upf_A.pppg++ <--> Eth10G <--> iUpf_A.pppg++;
        iUpf_A.pppg++ <--> Eth10G <--> mecHost_A.ppp++;
        iUpf_A.pppg++ <--> Eth10G <--> gnb_A1.ppp;
        iUpf_A.pppg++ <--> Eth10G <--> gnb_A2.ppp;
        iUpf_A.pppg++ <--> Eth10G <--> gnb_A3.ppp;

        upf_B.pppg++ <--> Eth10G <--> iUpf_B.pppg++;
        iUpf_B.pppg++ <--> Eth10G <--> mecHost_B.ppp++ if enableMecOperatorB;
        iUpf_B.pppg++ <--> Eth10G <--> gnb_B1.ppp;
        iUpf_B.pppg++ <--> Eth10G <--> gnb_B2.ppp;
        iUpf_B.pppg++ <--> Eth10G <--> gnb_B3.ppp;

        //# MEC-related connections
        router.pppg++ <--> Eth10G <--> upf_A.dnPppg;
        ualcmp_A.ppp++ <--> Eth10G <--> router.pppg++;
        ualcmp_A.toMecOrchestrator --> mecOrchestrator_A.fromUALCMP;
        ualcmp_A.fromMecOrchestrator <-- mecOrchestrator_A.toUALCMP;

        router.pppg++ <--> Eth10G <--> upf_B.dnPppg;
        ualcmp_B.ppp++ <--> Eth10G <--> router.pppg++ if enableMecOperatorB;
        ualcmp_B.toMecOrchestrator --> mecOrchestrator_B.fromUALCMP if enableMecOperatorB;
        ualcmp_B.fromMecOrchestrator <-- mecOrchestrator_B.toUALCMP if enableMecOperatorB;

        //# X2 connections
        gnb_A1.x2++ <--> Eth10G <--> gnb_A2.x2++;
        gnb_A2.x2++ <--> Eth10G <--> gnb_A3.x2++;
        gnb_B1.x2++ <--> Eth10G <--> gnb_B2.x2++;
        gnb_B2.x2++ <--> Eth10G <--> gnb_B3.x2++;
}
File: simulations/nr/mec/multiOperator/MultiOperator.ned