MultiCell_withSecondaryGnb

Package: simu5g.simulations.nr.networks

MultiCell_withSecondaryGnb

network

The two-cell version of SingleCell_withSecondaryGnb: two eNodeB masters, each paired over X2 with its own gNodeB secondary, and a further X2 link between the two masters. Both eNodeBs connect to the EPC PgwStandard, which faces a router and a server; neither gNodeB has a core-network link. numUe NrUe terminals attach, and numBgCells BackgroundCell cells can be added as interferers.

channelControl : LteChannelControl

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

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

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

Source:
routingRecorder: RoutingTableRecorder {
    @display("p=106,112;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=106,162;is=s");
} binder : Binder

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

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

Central configurator of the network's data radio bearers.

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

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

Source:
carrierAggregation: CarrierAggregation {
    @display("p=106,312;is=s");
} server : StandardHost
[from inet] ↗

IPv4 host with SCTP, TCP, UDP layers and applications.

Source:
server: StandardHost {
    @display("p=273,48;is=n;i=device/server");
} router : Router
[from inet] ↗

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

Source:
router: Router {
    @display("p=393,46;i=device/smallrouter");
} pgw : PgwStandard

Implements a simplified EPC PDN Gateway (P-GW) of a 4G LTE network.

Source:
pgw: PgwStandard {
    @display("p=530,49;is=n");
} masterEnb1 : eNodeB

Models an evolved Node B (eNB) of a 4G LTE network.

Source:
masterEnb1: eNodeB {
    @display("p=363,277;is=vl");
} secondaryGnb1 : gNodeB

Implements a gNodeB for a 5G network.

Source:
secondaryGnb1: gNodeB {
    @display("p=527,461;is=vl");
} masterEnb2 : eNodeB

Models an evolved Node B (eNB) of a 4G LTE network.

Source:
masterEnb2: eNodeB {
    @display("p=692,277;is=vl");
} secondaryGnb2 : gNodeB

Implements a gNodeB for a 5G network.

Source:
secondaryGnb2: gNodeB {
    @display("p=856,461;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=1000,107;is=vl");
} ue[numUe] : NrUe

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

Source:
ue[numUe]: NrUe {
    @display("p=526,334");
}

Usage diagram

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

Parameters

Name Type Default value Description
numUe int 1
numBgCells int 0

Properties

Name Value Description
isNetwork
display i=block/network2;bgb=1100,800;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
server.status.initialStatus string "UP"

TODO @signal, @statistic

server.pcapRecorder.verbose bool true

whether to log packets on the module output

server.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

server.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

server.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

server.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

server.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

server.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

server.pcapRecorder.helpers string ""

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

server.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

server.at.forwardServiceRegistration bool true
server.at.forwardProtocolRegistration bool true
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" : ""
pgw.status.initialStatus string "UP"

TODO @signal, @statistic

pgw.pcapRecorder.verbose bool true

whether to log packets on the module output

pgw.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

pgw.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

pgw.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

pgw.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

pgw.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

pgw.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

pgw.pcapRecorder.helpers string ""

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

pgw.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

whether to log packets on the module output

pgw.dnPpp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

pgw.dnPpp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

pgw.dnPpp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

pgw.dnPpp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

pgw.dnPpp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

pgw.dnPpp.pcapRecorder.helpers string ""

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

pgw.dnPpp.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

pgw.dnPpp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

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

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

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

Path to the InterfaceTable module

pgw.gtp_user.ipOutInterface string ""

Optional: manual specification of outgoing interface for received IP

pgw.gtp_user.localPort int 31
pgw.gtp_user.tunnelPeerPort int 31
pgw.gtp_user.gateway string ""

Optional

masterEnb1.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

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

masterEnb1.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

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

format string for the mobility module's display string text

masterEnb1.mobility.updateDisplayString bool true

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

masterEnb1.mobility.constraintAreaMinX double -inf m

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

masterEnb1.mobility.constraintAreaMinY double -inf m

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

masterEnb1.mobility.constraintAreaMinZ double -inf m

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

masterEnb1.mobility.constraintAreaMaxX double inf m

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

masterEnb1.mobility.constraintAreaMaxY double inf m

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

masterEnb1.mobility.constraintAreaMaxZ double inf m

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

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

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

masterEnb1.mobility.updateFromDisplayString bool true

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

masterEnb1.cellInfo.constraintAreaMinX double -1m/0

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

masterEnb1.cellInfo.constraintAreaMinY double -1m/0

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

masterEnb1.cellInfo.constraintAreaMaxX double 1m/0

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

masterEnb1.cellInfo.constraintAreaMaxY double 1m/0

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

masterEnb1.cellInfo.beaconInterval double 1s

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

masterEnb1.cellInfo.microCell bool false

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

masterEnb1.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

masterEnb1.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

masterEnb1.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

masterEnb1.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

masterEnb1.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

masterEnb1.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

masterEnb1.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

masterEnb1.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

masterEnb1.cellInfo.numPreferredBands int 1

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

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

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

masterEnb1.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

masterEnb1.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

masterEnb1.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

masterEnb1.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

masterEnb1.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

masterEnb1.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

masterEnb1.pppIf.pcapRecorder.helpers string ""

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

masterEnb1.pppIf.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

masterEnb1.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

masterEnb1.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

masterEnb1.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

masterEnb1.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

masterEnb1.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

masterEnb1.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

masterEnb1.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

masterEnb1.x2ppp.pcapRecorder.helpers string ""

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

masterEnb1.x2ppp.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

masterEnb1.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

masterEnb1.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

masterEnb1.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

masterEnb1.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

masterEnb1.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

masterEnb1.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

masterEnb1.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

masterEnb1.pppMEHostIf.pcapRecorder.helpers string ""

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

masterEnb1.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

masterEnb1.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

masterEnb1.udp.interfaceTableModule string

The path to the InterfaceTable module

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

masterEnb1.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

masterEnb1.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

masterEnb1.tcp.limitedTransmitEnabled bool false

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

masterEnb1.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

masterEnb1.tcp.windowScalingSupport bool false

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

masterEnb1.tcp.windowScalingFactor int -1

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

masterEnb1.tcp.timestampSupport bool false

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

masterEnb1.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

masterEnb1.tcp.msl int 120s

Maximum Segment Lifetime

masterEnb1.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")

masterEnb1.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

masterEnb1.tcp.dupthresh int 3

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

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

masterEnb1.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

masterEnb1.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

masterEnb1.tcp.ecnWillingness bool false

true if willing to use ECN

masterEnb1.tcp.dctcpGamma double 0.0625

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

masterEnb1.x2App.client.localAddress string ""

comma separated list of addresses

masterEnb1.x2App.client.localPort int 0

port number to listen on

masterEnb1.x2App.client.connectAddress string

server address (may be symbolic)

masterEnb1.x2App.client.connectPort int 5000

port number to connect to

masterEnb1.x2App.client.startTime double 0s

time first session begins

masterEnb1.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

masterEnb1.x2App.client.thinkTime double 0s

time gap between requests

masterEnb1.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

masterEnb1.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

masterEnb1.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

masterEnb1.x2App.server.localPort int 0

port number to listen on

masterEnb1.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

masterEnb1.x2App.server.thinkTime double 0s

time gap between requests

masterEnb1.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

masterEnb1.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

masterEnb1.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

masterEnb1.sctp.tellArwnd bool false

for flowcontrol

masterEnb1.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

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

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

Path to the InterfaceTable module

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

whether to display IP addresses on links

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

secondaryGnb1.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

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

format string for the mobility module's display string text

secondaryGnb1.mobility.updateDisplayString bool true

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

secondaryGnb1.mobility.constraintAreaMinX double -inf m

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

secondaryGnb1.mobility.constraintAreaMinY double -inf m

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

secondaryGnb1.mobility.constraintAreaMinZ double -inf m

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

secondaryGnb1.mobility.constraintAreaMaxX double inf m

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

secondaryGnb1.mobility.constraintAreaMaxY double inf m

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

secondaryGnb1.mobility.constraintAreaMaxZ double inf m

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

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

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

secondaryGnb1.mobility.updateFromDisplayString bool true

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

secondaryGnb1.cellInfo.constraintAreaMinX double -1m/0

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

secondaryGnb1.cellInfo.constraintAreaMinY double -1m/0

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

secondaryGnb1.cellInfo.constraintAreaMaxX double 1m/0

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

secondaryGnb1.cellInfo.constraintAreaMaxY double 1m/0

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

secondaryGnb1.cellInfo.beaconInterval double 1s

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

secondaryGnb1.cellInfo.microCell bool false

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

secondaryGnb1.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

secondaryGnb1.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

secondaryGnb1.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

secondaryGnb1.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

secondaryGnb1.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

secondaryGnb1.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

secondaryGnb1.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

secondaryGnb1.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

secondaryGnb1.cellInfo.numPreferredBands int 1

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

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

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

secondaryGnb1.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

secondaryGnb1.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

secondaryGnb1.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

secondaryGnb1.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

secondaryGnb1.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

secondaryGnb1.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

secondaryGnb1.pppIf.pcapRecorder.helpers string ""

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

secondaryGnb1.pppIf.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

secondaryGnb1.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

secondaryGnb1.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

secondaryGnb1.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

secondaryGnb1.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

secondaryGnb1.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

secondaryGnb1.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

secondaryGnb1.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

secondaryGnb1.x2ppp.pcapRecorder.helpers string ""

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

secondaryGnb1.x2ppp.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

secondaryGnb1.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

secondaryGnb1.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

secondaryGnb1.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

secondaryGnb1.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

secondaryGnb1.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

secondaryGnb1.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

secondaryGnb1.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

secondaryGnb1.pppMEHostIf.pcapRecorder.helpers string ""

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

secondaryGnb1.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

secondaryGnb1.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

secondaryGnb1.udp.interfaceTableModule string

The path to the InterfaceTable module

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

secondaryGnb1.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

secondaryGnb1.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

secondaryGnb1.tcp.limitedTransmitEnabled bool false

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

secondaryGnb1.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

secondaryGnb1.tcp.windowScalingSupport bool false

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

secondaryGnb1.tcp.windowScalingFactor int -1

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

secondaryGnb1.tcp.timestampSupport bool false

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

secondaryGnb1.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

secondaryGnb1.tcp.msl int 120s

Maximum Segment Lifetime

secondaryGnb1.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")

secondaryGnb1.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

secondaryGnb1.tcp.dupthresh int 3

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

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

secondaryGnb1.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

secondaryGnb1.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

secondaryGnb1.tcp.ecnWillingness bool false

true if willing to use ECN

secondaryGnb1.tcp.dctcpGamma double 0.0625

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

secondaryGnb1.x2App.client.localAddress string ""

comma separated list of addresses

secondaryGnb1.x2App.client.localPort int 0

port number to listen on

secondaryGnb1.x2App.client.connectAddress string

server address (may be symbolic)

secondaryGnb1.x2App.client.connectPort int 5000

port number to connect to

secondaryGnb1.x2App.client.startTime double 0s

time first session begins

secondaryGnb1.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

secondaryGnb1.x2App.client.thinkTime double 0s

time gap between requests

secondaryGnb1.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

secondaryGnb1.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

secondaryGnb1.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

secondaryGnb1.x2App.server.localPort int 0

port number to listen on

secondaryGnb1.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

secondaryGnb1.x2App.server.thinkTime double 0s

time gap between requests

secondaryGnb1.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

secondaryGnb1.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

secondaryGnb1.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

secondaryGnb1.sctp.tellArwnd bool false

for flowcontrol

secondaryGnb1.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

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

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

Path to the InterfaceTable module

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

whether to display IP addresses on links

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

masterEnb2.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

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

format string for the mobility module's display string text

masterEnb2.mobility.updateDisplayString bool true

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

masterEnb2.mobility.constraintAreaMinX double -inf m

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

masterEnb2.mobility.constraintAreaMinY double -inf m

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

masterEnb2.mobility.constraintAreaMinZ double -inf m

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

masterEnb2.mobility.constraintAreaMaxX double inf m

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

masterEnb2.mobility.constraintAreaMaxY double inf m

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

masterEnb2.mobility.constraintAreaMaxZ double inf m

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

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

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

masterEnb2.mobility.updateFromDisplayString bool true

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

masterEnb2.cellInfo.constraintAreaMinX double -1m/0

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

masterEnb2.cellInfo.constraintAreaMinY double -1m/0

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

masterEnb2.cellInfo.constraintAreaMaxX double 1m/0

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

masterEnb2.cellInfo.constraintAreaMaxY double 1m/0

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

masterEnb2.cellInfo.beaconInterval double 1s

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

masterEnb2.cellInfo.microCell bool false

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

masterEnb2.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

masterEnb2.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

masterEnb2.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

masterEnb2.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

masterEnb2.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

masterEnb2.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

masterEnb2.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

masterEnb2.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

masterEnb2.cellInfo.numPreferredBands int 1

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

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

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

masterEnb2.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

masterEnb2.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

masterEnb2.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

masterEnb2.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

masterEnb2.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

masterEnb2.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

masterEnb2.pppIf.pcapRecorder.helpers string ""

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

masterEnb2.pppIf.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

masterEnb2.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

masterEnb2.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

masterEnb2.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

masterEnb2.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

masterEnb2.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

masterEnb2.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

masterEnb2.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

masterEnb2.x2ppp.pcapRecorder.helpers string ""

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

masterEnb2.x2ppp.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

masterEnb2.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

masterEnb2.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

masterEnb2.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

masterEnb2.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

masterEnb2.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

masterEnb2.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

masterEnb2.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

masterEnb2.pppMEHostIf.pcapRecorder.helpers string ""

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

masterEnb2.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

masterEnb2.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

masterEnb2.udp.interfaceTableModule string

The path to the InterfaceTable module

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

masterEnb2.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

masterEnb2.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

masterEnb2.tcp.limitedTransmitEnabled bool false

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

masterEnb2.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

masterEnb2.tcp.windowScalingSupport bool false

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

masterEnb2.tcp.windowScalingFactor int -1

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

masterEnb2.tcp.timestampSupport bool false

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

masterEnb2.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

masterEnb2.tcp.msl int 120s

Maximum Segment Lifetime

masterEnb2.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")

masterEnb2.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

masterEnb2.tcp.dupthresh int 3

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

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

masterEnb2.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

masterEnb2.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

masterEnb2.tcp.ecnWillingness bool false

true if willing to use ECN

masterEnb2.tcp.dctcpGamma double 0.0625

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

masterEnb2.x2App.client.localAddress string ""

comma separated list of addresses

masterEnb2.x2App.client.localPort int 0

port number to listen on

masterEnb2.x2App.client.connectAddress string

server address (may be symbolic)

masterEnb2.x2App.client.connectPort int 5000

port number to connect to

masterEnb2.x2App.client.startTime double 0s

time first session begins

masterEnb2.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

masterEnb2.x2App.client.thinkTime double 0s

time gap between requests

masterEnb2.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

masterEnb2.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

masterEnb2.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

masterEnb2.x2App.server.localPort int 0

port number to listen on

masterEnb2.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

masterEnb2.x2App.server.thinkTime double 0s

time gap between requests

masterEnb2.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

masterEnb2.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

masterEnb2.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

masterEnb2.sctp.tellArwnd bool false

for flowcontrol

masterEnb2.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

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

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

Path to the InterfaceTable module

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

whether to display IP addresses on links

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

secondaryGnb2.mobility.coordinateSystemModule string ""

module path of the geographic coordinate system module

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

format string for the mobility module's display string text

secondaryGnb2.mobility.updateDisplayString bool true

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

secondaryGnb2.mobility.constraintAreaMinX double -inf m

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

secondaryGnb2.mobility.constraintAreaMinY double -inf m

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

secondaryGnb2.mobility.constraintAreaMinZ double -inf m

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

secondaryGnb2.mobility.constraintAreaMaxX double inf m

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

secondaryGnb2.mobility.constraintAreaMaxY double inf m

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

secondaryGnb2.mobility.constraintAreaMaxZ double inf m

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

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

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

secondaryGnb2.mobility.updateFromDisplayString bool true

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

secondaryGnb2.cellInfo.constraintAreaMinX double -1m/0

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

secondaryGnb2.cellInfo.constraintAreaMinY double -1m/0

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

secondaryGnb2.cellInfo.constraintAreaMaxX double 1m/0

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

secondaryGnb2.cellInfo.constraintAreaMaxY double 1m/0

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

secondaryGnb2.cellInfo.beaconInterval double 1s

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

secondaryGnb2.cellInfo.microCell bool false

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

secondaryGnb2.cellInfo.rbyDl int 12

Number of sub-carriers per RB in DL

secondaryGnb2.cellInfo.rbyUl int 12

Number of sub-carriers per RB in UL

secondaryGnb2.cellInfo.rbxDl int 7

Number of OFDM symbols per slot in DL

secondaryGnb2.cellInfo.rbxUl int 7

Number of OFDM symbols per slot in UL

secondaryGnb2.cellInfo.rbPilotDl int 3

Number of pilot Resource Elements per RB in DL

secondaryGnb2.cellInfo.rbPilotUl int 0

Number of pilot Resource Elements per RB in UL

secondaryGnb2.cellInfo.signalDl int 1

Number of signaling symbols for each Resource Block in DL

secondaryGnb2.cellInfo.signalUl int 1

Number of signaling symbols for each Resource Block in UL

secondaryGnb2.cellInfo.numPreferredBands int 1

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

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

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

secondaryGnb2.pppIf.pcapRecorder.verbose bool true

whether to log packets on the module output

secondaryGnb2.pppIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

secondaryGnb2.pppIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

secondaryGnb2.pppIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

secondaryGnb2.pppIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

secondaryGnb2.pppIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

secondaryGnb2.pppIf.pcapRecorder.helpers string ""

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

secondaryGnb2.pppIf.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

secondaryGnb2.pppIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

secondaryGnb2.x2ppp.pcapRecorder.verbose bool true

whether to log packets on the module output

secondaryGnb2.x2ppp.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

secondaryGnb2.x2ppp.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

secondaryGnb2.x2ppp.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

secondaryGnb2.x2ppp.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

secondaryGnb2.x2ppp.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

secondaryGnb2.x2ppp.pcapRecorder.helpers string ""

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

secondaryGnb2.x2ppp.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

secondaryGnb2.x2ppp.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

secondaryGnb2.pppMEHostIf.pcapRecorder.verbose bool true

whether to log packets on the module output

secondaryGnb2.pppMEHostIf.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

secondaryGnb2.pppMEHostIf.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

secondaryGnb2.pppMEHostIf.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

secondaryGnb2.pppMEHostIf.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

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

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

secondaryGnb2.pppMEHostIf.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

secondaryGnb2.pppMEHostIf.pcapRecorder.helpers string ""

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

secondaryGnb2.pppMEHostIf.pcapRecorder.alwaysFlush bool false

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

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

The path to the InterfaceTable module

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

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

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

extra time after lifecycle stop operation finished

secondaryGnb2.pppMEHostIf.ppp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

secondaryGnb2.udp.interfaceTableModule string

The path to the InterfaceTable module

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

secondaryGnb2.tcp.delayedAcksEnabled bool false

delayed ACK algorithm (RFC 1122) enabled/disabled

secondaryGnb2.tcp.nagleEnabled bool true

Nagle's algorithm (RFC 896) enabled/disabled

secondaryGnb2.tcp.limitedTransmitEnabled bool false

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

secondaryGnb2.tcp.increasedIWEnabled bool false

Increased Initial Window (RFC 3390) enabled/disabled

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

secondaryGnb2.tcp.windowScalingSupport bool false

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

secondaryGnb2.tcp.windowScalingFactor int -1

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

secondaryGnb2.tcp.timestampSupport bool false

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

secondaryGnb2.tcp.mss int 536

Maximum Segment Size (RFC 793) (header option)

secondaryGnb2.tcp.msl int 120s

Maximum Segment Lifetime

secondaryGnb2.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")

secondaryGnb2.tcp.useDataNotification bool false

turn the notifications for arrived data on or off

secondaryGnb2.tcp.dupthresh int 3

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

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

secondaryGnb2.tcp.stopOperationExtraTime double 0s

extra time after lifecycle stop operation finished

secondaryGnb2.tcp.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

secondaryGnb2.tcp.ecnWillingness bool false

true if willing to use ECN

secondaryGnb2.tcp.dctcpGamma double 0.0625

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

secondaryGnb2.x2App.client.localAddress string ""

comma separated list of addresses

secondaryGnb2.x2App.client.localPort int 0

port number to listen on

secondaryGnb2.x2App.client.connectAddress string

server address (may be symbolic)

secondaryGnb2.x2App.client.connectPort int 5000

port number to connect to

secondaryGnb2.x2App.client.startTime double 0s

time first session begins

secondaryGnb2.x2App.client.numRequestsPerSession int 1

number of requests sent per session

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

length of a request (bytes)

secondaryGnb2.x2App.client.thinkTime double 0s

time gap between requests

secondaryGnb2.x2App.client.waitToClose double 0s

time to wait between last message sent and abort

secondaryGnb2.x2App.client.reconnectInterval double 0s

if connection breaks, waits this much before trying to reconnect

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

echoes received packages when true

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

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

secondaryGnb2.x2App.client.prValue double 0

for PR-SCTP

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

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

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

time of finishing sending, negative values mean forever

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

comma separated list of addresses

secondaryGnb2.x2App.server.localPort int 0

port number to listen on

secondaryGnb2.x2App.server.echo bool false

echoes received packages when true

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

number of requests sent per session

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

length of a request (bytes)

secondaryGnb2.x2App.server.thinkTime double 0s

time gap between requests

secondaryGnb2.x2App.server.waitToClose double 0s

time to wait between last message sent and abort

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

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

secondaryGnb2.x2App.server.prValue double 0

for PR-SCTP

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

RFC4960=0

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

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

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

Limit for SWS

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

for flowcontrol

secondaryGnb2.sctp.bytesToAddPerPeerChunk int 0

for flowcontrol

secondaryGnb2.sctp.tellArwnd bool false

for flowcontrol

secondaryGnb2.sctp.messageAcceptLimit int 0

for flowcontrol

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

SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154

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

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

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

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

Path to the InterfaceTable module

secondaryGnb2.gtpUser.localPort int 31
secondaryGnb2.gtpUser.tunnelPeerPort int 31
secondaryGnb2.gtpUserX2.binderModule string "binder"
secondaryGnb2.gtpUserX2.localPort int 32
secondaryGnb2.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.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

whether to log packets on the module output

ue.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

ue.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

ue.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

ue.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

ue.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

ue.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

ue.pcapRecorder.helpers string ""

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

ue.pcapRecorder.alwaysFlush bool false

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

ue.pcapRecorder.displayStringTextFormat string "rec: %n pks"

Source code

//
// The two-cell version of ~SingleCell_withSecondaryGnb: two ~eNodeB masters,
// each paired over X2 with its own ~gNodeB secondary, and a further X2 link
// between the two masters. Both eNodeBs connect to the EPC ~PgwStandard, which
// faces a router and a server; neither gNodeB has a core-network link. numUe
// ~NrUe terminals attach, and numBgCells ~BackgroundCell cells can be added as
// interferers.
//
network MultiCell_withSecondaryGnb
{
    parameters:
        int numUe = default(1);
        int numBgCells = default(0);
        @display("i=block/network2;bgb=1100,800;bgi=background/pisa");
    submodules:
        channelControl: LteChannelControl {
            @display("p=106,62;is=s");
        }
        routingRecorder: RoutingTableRecorder {
            @display("p=106,112;is=s");
        }
        configurator: Ipv4NetworkConfigurator {
            @display("p=106,162;is=s");
        }
        binder: Binder {
            @display("p=106,212;is=s");
        }
        bearerConfigurator: BearerConfigurator {
            @display("p=106,262;is=s");
        }
        carrierAggregation: CarrierAggregation {
            @display("p=106,312;is=s");
        }
        server: StandardHost {
            @display("p=273,48;is=n;i=device/server");
        }
        router: Router {
            @display("p=393,46;i=device/smallrouter");
        }
        pgw: PgwStandard {
            @display("p=530,49;is=n");
        }
        masterEnb1: eNodeB {
            @display("p=363,277;is=vl");
        }
        secondaryGnb1: gNodeB {
            @display("p=527,461;is=vl");
        }
        masterEnb2: eNodeB {
            @display("p=692,277;is=vl");
        }
        secondaryGnb2: gNodeB {
            @display("p=856,461;is=vl");
        }
        bgCell[numBgCells]: BackgroundCell {
            @display("p=1000,107;is=vl");
        }
        ue[numUe]: NrUe {
            @display("p=526,334");
        }
    connections:
        server.pppg++ <--> Eth10G <--> router.pppg++;
        router.pppg++ <--> Eth10G <--> pgw.dnPppg;
        pgw.pppg++ <--> Eth10G <--> masterEnb1.ppp;
        pgw.pppg++ <--> Eth10G <--> masterEnb2.ppp;

        //# X2 connections
        secondaryGnb1.x2++ <--> Eth10G <--> masterEnb1.x2++;
        masterEnb1.x2++ <--> Eth10G <--> masterEnb2.x2++;
        masterEnb2.x2++ <--> Eth10G <--> secondaryGnb2.x2++;
}
File: simulations/nr/networks/MultiCell_withSecondaryGnb.ned