Package: simu5g.simulations.nr.networks
SingleCell_Standalone
networkOne gNodeB served by a 5G core: the anchor Upf faces the data network (a router and a server), and an intermediate Upf sits between it and the gNodeB. numUe NrUe terminals attach to the gNodeB, and numBgCells BackgroundCell cells can be added around it as interferers.
The topology is 5G standalone, deployment option 2 of 3GPP TR 38.801.
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=1000,1000;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.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| routingRecorder.enabled | bool | true | |
| routingRecorder.logfile | string | "${resultdir}/${configname}-#${runnumber}.rt" | |
| configurator.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| configurator.minLinkWeight | double | 1E-3 | |
| configurator.configureIsolatedNetworksSeparatly | bool | false | |
| configurator.config | xml | xml(" |
XML configuration parameters for IP address assignment and adding manual routes |
| configurator.assignAddresses | bool | true |
Assign IP addresses to all interfaces in the network |
| configurator.assignUniqueAddresses | bool | true |
Avoid using the same address and raise an error if not possible |
| configurator.assignDisjunctSubnetAddresses | bool | true |
Avoid using the same address prefix and netmask on different links when assigning IP addresses to interfaces |
| configurator.addStaticRoutes | bool | true |
Add static routes to the routing tables of all nodes to route to all destination interfaces (only where applicable; turn off when config file contains manual routes) |
| configurator.addDefaultRoutes | bool | true |
Add default routes if all routes from a source node go through the same gateway (used only if addStaticRoutes is true) |
| configurator.addSubnetRoutes | bool | true |
Add subnet routes instead of destination interface routes (only where applicable; used only if addStaticRoutes is true) |
| configurator.addDirectRoutes | bool | true |
Add direct routes towards local network members (i.e. directly connected interfaces) to the routing table (used only if addStaticRoutes is true) |
| configurator.addRemoteRoutes | bool | true |
Add routes towards remote (non-directly-connected) destinations via a gateway (used only if addStaticRoutes is true) |
| configurator.optimizeRoutes | bool | true |
Optimize routing tables by merging routes, the resulting routing table might route more packets than the original (used only if addStaticRoutes is true) |
| configurator.addManualRoutes | bool | true |
Add manual routes from the XML configuration; independent of addStaticRoutes |
| configurator.updateRoutes | bool | false |
Recalculate static routes if an interface goes down/up or a carrier is lost/back |
| configurator.dumpTopology | bool | false |
Print extracted network topology to the module output |
| configurator.dumpLinks | bool | false |
Print recognized network links to the module output |
| configurator.dumpAddresses | bool | false |
Print assigned IP addresses for all interfaces to the module output |
| configurator.dumpRoutes | bool | false |
Print configured and optimized routing tables for all nodes to the module output |
| configurator.dumpConfig | string | "" |
Write configuration into the given config file that can be fed back to speed up subsequent runs (network configurations) |
| binder.blerShift | int | 0 | |
| binder.maxDataRatePerRb | double | 1.16Mbps | |
| binder.printTrafficGeneratorConfig | bool | false | |
| coreControl.binderModule | string | "binder" | |
| coreControl.bearerConfiguratorModule | string | "bearerConfigurator" | |
| bearerConfigurator.binderModule | string | "binder" | |
| bearerConfigurator.staticDrbs | object | [] |
JSON array: [{coreNetwork, ue, drbId, profile, mappedQfis, filters, lcg, rlcMode, legs, isDefault, suppressSdapHeader, rohc, gbr, packetDelayBudget, packetErrorRate, qosPriorityLevel}, ...]; see banner comment for details |
| bearerConfigurator.onDemandDrbs | object | [ // JSON array, staticDrbs schema minus "drbId" (and "ue" optional): bearers created when traffic first matches them; the default value lets both stack kinds run unauthored; see banner comment for details {coreNetwork: "epc", filters: ["VoIP*"], lcg: 0, rlcMode: "UM"}, {coreNetwork: "epc", filters: ["gaming*"], lcg: 2, rlcMode: "UM"}, {coreNetwork: "epc", filters: ["VoDPacket*", "VoDFinishPacket*"], lcg: 1, rlcMode: "UM"}, {coreNetwork: "epc", isDefault: true, lcg: 3, rlcMode: "UM"}, {coreNetwork: "5gc", isDefault: true, suppressSdapHeader: true, lcg: 3, rlcMode: "UM"} ] | |
| bearerConfigurator.drbProfiles | object | {} |
JSON map of named field groups referenced by the staticDrbs entries' "profile" field, e.g. {voice: {rlcMode: "UM", gbr: true, ...}, ...}; see banner comment |
| bearerConfigurator.dlQfiRules | object | [{dscpAsQfi: true}] |
QFI classification rules, delivered to their evaluation sites (see banner comment) |
| bearerConfigurator.ulQfiRules | object | [] |
JSON array of uplink QFI-assignment rules [{ue, filter, qfi|dscpAsQfi}, ...], delivered to the UEs' QoS-flow classifiers; [] = classify nothing |
| bearerConfigurator.amPerThreshold | double | 1e-4 |
QoS-derived RAN defaults for definitions that do not state rlcMode/lcg themselves (operator policy, not spec-mandated: 3GPP standardizes the QoS characteristics, the RAN chooses what to make of them) |
| bearerConfigurator.lcgPriorityBounds | object | [25, 50, 75] |
Lcg derivation: qosPriorityLevel < bounds[k] -> LCG k, else LCG 3; strictly ascending, one bound between each pair of adjacent LCGs |
| bearerConfigurator.rohcForDrbProfiles | object | ["5qi-1", "qci-1"] |
Header compression policy: definitions naming one of these profiles get "rohc: true" unless they state rohc themselves, on IP sessions; default: the voice bearers |
| carrierAggregation.componentCarrier.binderModule | string | "binder" | |
| carrierAggregation.componentCarrier.carrierFrequency | double | 2GHz |
Carrier Frequency (GHz) |
| carrierAggregation.componentCarrier.numBands | int | 6 |
Number of bands for this channel |
| carrierAggregation.componentCarrier.numerologyIndex | int | 0 |
Numerology index |
| carrierAggregation.componentCarrier.useTdd | bool | false | |
| carrierAggregation.componentCarrier.tddNumSymbolsDl | int | 7 | |
| carrierAggregation.componentCarrier.tddNumSymbolsUl | int | 7 | |
| server.status.displayStringTextFormat | string | "{stateStr}" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.status.initialStatus | string | "UP" |
TODO @signal, @statistic |
| server.environment.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.environment.initStage | int | 0 |
Initialization stage for the setup command |
| server.environment.globalNamespace | bool | false |
Create new network namespaces under /var/run/netns/ (Linux only) |
| server.environment.namespace | string | "" |
Name of the host OS network namespace (optional) (Linux only) |
| server.environment.setupCommand | string | "" |
A host OS system command |
| server.environment.teardownCommand | string | "" |
A host OS system command |
| server.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| server.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| server.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| server.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| server.pcapRecorder.fileFormat | string | "pcapng" | |
| server.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| server.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| 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 | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| server.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
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.interfaceTable.displayStringTextFormat | string | "{numInterfaces} interfaces" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.interfaceTable.displayAddresses | bool | false |
Whether to display IP addresses on links |
| server.cb.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.cb.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| server.cb.forwardServiceRegistration | bool | true | |
| server.cb.forwardProtocolRegistration | bool | true | |
| server.cb.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| server.cb.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| server.cb.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| server.bl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.bl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| server.bl.forwardServiceRegistration | bool | true | |
| server.bl.forwardProtocolRegistration | bool | true | |
| server.bl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| server.bl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| server.bl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| server.li.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.li.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| server.li.forwardServiceRegistration | bool | true | |
| server.li.forwardProtocolRegistration | bool | true | |
| server.li.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| server.li.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| server.li.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| server.eth.bitrate | double | ||
| server.nl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.nl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| server.nl.forwardServiceRegistration | bool | true | |
| server.nl.forwardProtocolRegistration | bool | true | |
| server.nl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| server.nl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| server.nl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| server.tn.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.tn.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| server.tn.forwardServiceRegistration | bool | true | |
| server.tn.forwardProtocolRegistration | bool | true | |
| server.tn.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| server.tn.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| server.tn.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| server.at.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| server.at.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| server.at.forwardServiceRegistration | bool | true | |
| server.at.forwardProtocolRegistration | bool | true | |
| server.at.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| server.at.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| server.at.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| router.status.displayStringTextFormat | string | "{stateStr}" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.status.initialStatus | string | "UP" |
TODO @signal, @statistic |
| router.environment.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.environment.initStage | int | 0 |
Initialization stage for the setup command |
| router.environment.globalNamespace | bool | false |
Create new network namespaces under /var/run/netns/ (Linux only) |
| router.environment.namespace | string | "" |
Name of the host OS network namespace (optional) (Linux only) |
| router.environment.setupCommand | string | "" |
A host OS system command |
| router.environment.teardownCommand | string | "" |
A host OS system command |
| router.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| router.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| router.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| router.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| router.pcapRecorder.fileFormat | string | "pcapng" | |
| router.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| router.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| 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 | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| router.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
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.interfaceTable.displayStringTextFormat | string | "{numInterfaces} interfaces" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.interfaceTable.displayAddresses | bool | false |
Whether to display IP addresses on links |
| router.cb.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.cb.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| router.cb.forwardServiceRegistration | bool | true | |
| router.cb.forwardProtocolRegistration | bool | true | |
| router.cb.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| router.cb.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| router.cb.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| router.bl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.bl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| router.bl.forwardServiceRegistration | bool | true | |
| router.bl.forwardProtocolRegistration | bool | true | |
| router.bl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| router.bl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| router.bl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| router.li.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.li.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| router.li.forwardServiceRegistration | bool | true | |
| router.li.forwardProtocolRegistration | bool | true | |
| router.li.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| router.li.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| router.li.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| router.eth.bitrate | double | ||
| router.nl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.nl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| router.nl.forwardServiceRegistration | bool | true | |
| router.nl.forwardProtocolRegistration | bool | true | |
| router.nl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| router.nl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| router.nl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| router.tn.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.tn.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| router.tn.forwardServiceRegistration | bool | true | |
| router.tn.forwardProtocolRegistration | bool | true | |
| router.tn.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| router.tn.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| router.tn.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| router.at.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| router.at.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| router.at.forwardServiceRegistration | bool | true | |
| router.at.forwardProtocolRegistration | bool | true | |
| router.at.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| router.at.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| router.at.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| router.bgp.interfaceTableModule | string |
The path to the InterfaceTable module |
|
| router.bgp.routingTableModule | string | ||
| router.bgp.addressFamily | string |
address family this BGP instance operates on |
|
| router.bgp.routerId | string |
the 4-octet BGP Identifier (required for IPv6) |
|
| router.bgp.ospfRoutingModule | string | parent.hasOspf ? "^.ospf" : "" | |
| upf.status.displayStringTextFormat | string | "{stateStr}" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.status.initialStatus | string | "UP" |
TODO @signal, @statistic |
| upf.environment.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.environment.initStage | int | 0 |
Initialization stage for the setup command |
| upf.environment.globalNamespace | bool | false |
Create new network namespaces under /var/run/netns/ (Linux only) |
| upf.environment.namespace | string | "" |
Name of the host OS network namespace (optional) (Linux only) |
| upf.environment.setupCommand | string | "" |
A host OS system command |
| upf.environment.teardownCommand | string | "" |
A host OS system command |
| upf.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| upf.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| upf.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| upf.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| upf.pcapRecorder.fileFormat | string | "pcapng" | |
| upf.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| upf.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| upf.pcapRecorder.dumpBadFrames | bool | true |
Enable dump of frames with hasBitError |
| upf.pcapRecorder.moduleNamePatterns | string | "wlan[*] eth[*] ppp[*]" |
Space-separated list of sibling module names to listen on |
| upf.pcapRecorder.sendingSignalNames | string | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| upf.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
Space-separated list of inbound packet signals to subscribe to |
| upf.pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
Space-separated list of protocol names as defined in the Protocol class |
| upf.pcapRecorder.packetFilter | object | "*" |
Which packets are considered, matches all packets by default |
| upf.pcapRecorder.helpers | string | "" |
Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
| upf.pcapRecorder.alwaysFlush | bool | false |
Flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
| upf.interfaceTable.displayStringTextFormat | string | "{numInterfaces} interfaces" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.interfaceTable.displayAddresses | bool | false |
Whether to display IP addresses on links |
| upf.cb.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.cb.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.cb.forwardServiceRegistration | bool | true | |
| upf.cb.forwardProtocolRegistration | bool | true | |
| upf.cb.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.cb.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| upf.cb.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| upf.bl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.bl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.bl.forwardServiceRegistration | bool | true | |
| upf.bl.forwardProtocolRegistration | bool | true | |
| upf.bl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.bl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| upf.bl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| upf.li.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.li.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.li.forwardServiceRegistration | bool | true | |
| upf.li.forwardProtocolRegistration | bool | true | |
| upf.li.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.li.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| upf.li.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| upf.eth.bitrate | double | ||
| upf.nl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.nl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.nl.forwardServiceRegistration | bool | true | |
| upf.nl.forwardProtocolRegistration | bool | true | |
| upf.nl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.nl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| upf.nl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| upf.tn.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.tn.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.tn.forwardServiceRegistration | bool | true | |
| upf.tn.forwardProtocolRegistration | bool | true | |
| upf.tn.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.tn.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| upf.tn.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| upf.at.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.at.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.at.forwardServiceRegistration | bool | true | |
| upf.at.forwardProtocolRegistration | bool | true | |
| upf.at.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.at.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| upf.at.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| upf.dnPpp.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.dnPpp.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| upf.dnPpp.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| upf.dnPpp.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| upf.dnPpp.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| upf.dnPpp.pcapRecorder.fileFormat | string | "pcapng" | |
| upf.dnPpp.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| upf.dnPpp.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| upf.dnPpp.pcapRecorder.dumpBadFrames | bool | true |
Enable dump of frames with hasBitError |
| upf.dnPpp.pcapRecorder.sendingSignalNames | string | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| upf.dnPpp.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
Space-separated list of inbound packet signals to subscribe to |
| upf.dnPpp.pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
Space-separated list of protocol names as defined in the Protocol class |
| upf.dnPpp.pcapRecorder.packetFilter | object | "*" |
Which packets are considered, matches all packets by default |
| upf.dnPpp.pcapRecorder.helpers | string | "" |
Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
| upf.dnPpp.pcapRecorder.alwaysFlush | bool | false |
Flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
| upf.dnPpp.ppp.displayStringTextFormat | string | "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.dnPpp.ppp.interfaceTableModule | string |
The path to the InterfaceTable module |
|
| upf.dnPpp.ppp.sendRawBytes | bool | false |
When true packets are serialized into a sequence of bytes before sending out |
| upf.dnPpp.ppp.mtu | int | 4470B | |
| upf.dnPpp.ppp.stopOperationExtraTime | double | -1s |
Extra time after lifecycle stop operation finished |
| upf.dnPpp.ppp.stopOperationTimeout | double | 2s |
Timeout value for lifecycle stop operation |
| upf.relay.trafficFlowFilter.binderModule | string | "binder" | |
| upf.relay.trafficFlowFilter.fastForwarding | bool | true | |
| upf.relay.gtpUser.binderModule | string | "binder" | |
| upf.relay.gtpUser.localPort | int | 31 | |
| upf.relay.gtpUser.tunnelPeerPort | int | 31 | |
| upf.rd.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.rd.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.rd.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.nodeControl.binderModule | string | "binder" | |
| upf.nodeControl.gtpUserModule | string | "^.relay.gtpUser" | |
| upf.nodeControl.trafficFlowFilterModule | string | "^.relay.trafficFlowFilter" | |
| upf.nodeControl.ethernetBridgeModule | string | "^.ethBridge.sessionMux" |
The node's Ethernet session bridge (see EthernetSessionBridge), if it has one |
| upf.nodeControl.unstructuredPrefix | string | "" |
The prefix the N6 addresses of Unstructured sessions are allocated from, e.g. "2001:db8:5::/64" or "10.5.0.0/16"; empty = the node anchors no Unstructured session (see the main comment) |
| upf.nodeControl.unstructuredServer | string | "" |
The application server the Unstructured sessions' uplink goes to: a module path relative to the network, resolved in the family of unstructuredPrefix |
| upf.nodeControl.unstructuredServerPort | int | -1 |
The UDP port of unstructuredServer the uplink goes to; must be set for Unstructured sessions |
| upf.nodeControl.unstructuredPort | int | -1 |
The UDP port the node receives the Unstructured sessions' downlink on, and sends their uplink from; must be set for Unstructured sessions |
| upf.ndResponder.binderModule | string | "binder" | |
| upf.ndResponder.linkLocalAddress | string | "fe80::1" |
The router's address on every session's link |
| upf.ndResponder.routerLifetime | double | 9000s |
Router Lifetime in the Router Advertisements (max 9000s, RFC 4861) |
| upf.ndResponder.curHopLimit | int | 64 |
Cur Hop Limit in the Router Advertisements (0 = unspecified) |
| upf.ndResponder.checksumMode | string | "declared" | |
| upf.ethBridge.macTable.agingTime | double | ||
| upf.ethBridge.macTable.forwardingTableFile | string | ||
| upf.ethBridge.interfaceTable.displayStringTextFormat | string | "{numInterfaces} interfaces" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.ethBridge.interfaceTable.displayAddresses | bool | false |
Whether to display IP addresses on links |
| upf.ethBridge.sessionMux.interfaceTableModule | string |
The bridge's interface table, which the session ports are registered in |
|
| upf.ethBridge.sessionMux.macTableModule | string |
The bridge's MAC table, flushed of a released session's port |
|
| upf.ethBridge.sessionMux.portModuleType | string | "simu5g.corenetwork.ethernetSessionBridge.EthernetSessionPort" |
The module type of the session ports |
| upf.ethBridge.sessionMux.portDisplayString | string | "p=500,420,row,100;g=sessionPorts" |
Display string of the session ports (their place in the bridge's layout) |
| upf.ethBridge.cb.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.ethBridge.cb.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.ethBridge.cb.forwardServiceRegistration | bool | true | |
| upf.ethBridge.cb.forwardProtocolRegistration | bool | true | |
| upf.ethBridge.cb.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.ethBridge.cb.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| upf.ethBridge.cb.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| upf.ethBridge.bl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.ethBridge.bl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.ethBridge.bl.forwardServiceRegistration | bool | true | |
| upf.ethBridge.bl.forwardProtocolRegistration | bool | true | |
| upf.ethBridge.bl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.ethBridge.bl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| upf.ethBridge.bl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| upf.ethBridge.li.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| upf.ethBridge.li.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| upf.ethBridge.li.forwardServiceRegistration | bool | true | |
| upf.ethBridge.li.forwardProtocolRegistration | bool | true | |
| upf.ethBridge.li.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| upf.ethBridge.li.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| upf.ethBridge.li.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| upf.dnEth.bitrate | double | ||
| iUpf.status.displayStringTextFormat | string | "{stateStr}" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.status.initialStatus | string | "UP" |
TODO @signal, @statistic |
| iUpf.environment.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.environment.initStage | int | 0 |
Initialization stage for the setup command |
| iUpf.environment.globalNamespace | bool | false |
Create new network namespaces under /var/run/netns/ (Linux only) |
| iUpf.environment.namespace | string | "" |
Name of the host OS network namespace (optional) (Linux only) |
| iUpf.environment.setupCommand | string | "" |
A host OS system command |
| iUpf.environment.teardownCommand | string | "" |
A host OS system command |
| iUpf.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| iUpf.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| iUpf.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| iUpf.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| iUpf.pcapRecorder.fileFormat | string | "pcapng" | |
| iUpf.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| iUpf.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| iUpf.pcapRecorder.dumpBadFrames | bool | true |
Enable dump of frames with hasBitError |
| iUpf.pcapRecorder.moduleNamePatterns | string | "wlan[*] eth[*] ppp[*]" |
Space-separated list of sibling module names to listen on |
| iUpf.pcapRecorder.sendingSignalNames | string | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| iUpf.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
Space-separated list of inbound packet signals to subscribe to |
| iUpf.pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
Space-separated list of protocol names as defined in the Protocol class |
| iUpf.pcapRecorder.packetFilter | object | "*" |
Which packets are considered, matches all packets by default |
| iUpf.pcapRecorder.helpers | string | "" |
Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
| iUpf.pcapRecorder.alwaysFlush | bool | false |
Flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
| iUpf.interfaceTable.displayStringTextFormat | string | "{numInterfaces} interfaces" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.interfaceTable.displayAddresses | bool | false |
Whether to display IP addresses on links |
| iUpf.cb.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.cb.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.cb.forwardServiceRegistration | bool | true | |
| iUpf.cb.forwardProtocolRegistration | bool | true | |
| iUpf.cb.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.cb.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| iUpf.cb.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| iUpf.bl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.bl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.bl.forwardServiceRegistration | bool | true | |
| iUpf.bl.forwardProtocolRegistration | bool | true | |
| iUpf.bl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.bl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| iUpf.bl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| iUpf.li.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.li.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.li.forwardServiceRegistration | bool | true | |
| iUpf.li.forwardProtocolRegistration | bool | true | |
| iUpf.li.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.li.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| iUpf.li.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| iUpf.eth.bitrate | double | ||
| iUpf.nl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.nl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.nl.forwardServiceRegistration | bool | true | |
| iUpf.nl.forwardProtocolRegistration | bool | true | |
| iUpf.nl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.nl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| iUpf.nl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| iUpf.tn.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.tn.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.tn.forwardServiceRegistration | bool | true | |
| iUpf.tn.forwardProtocolRegistration | bool | true | |
| iUpf.tn.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.tn.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| iUpf.tn.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| iUpf.at.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.at.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.at.forwardServiceRegistration | bool | true | |
| iUpf.at.forwardProtocolRegistration | bool | true | |
| iUpf.at.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.at.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| iUpf.at.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| iUpf.dnPpp.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.dnPpp.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| iUpf.dnPpp.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| iUpf.dnPpp.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| iUpf.dnPpp.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| iUpf.dnPpp.pcapRecorder.fileFormat | string | "pcapng" | |
| iUpf.dnPpp.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| iUpf.dnPpp.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| iUpf.dnPpp.pcapRecorder.dumpBadFrames | bool | true |
Enable dump of frames with hasBitError |
| iUpf.dnPpp.pcapRecorder.sendingSignalNames | string | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| iUpf.dnPpp.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
Space-separated list of inbound packet signals to subscribe to |
| iUpf.dnPpp.pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
Space-separated list of protocol names as defined in the Protocol class |
| iUpf.dnPpp.pcapRecorder.packetFilter | object | "*" |
Which packets are considered, matches all packets by default |
| iUpf.dnPpp.pcapRecorder.helpers | string | "" |
Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
| iUpf.dnPpp.pcapRecorder.alwaysFlush | bool | false |
Flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
| iUpf.dnPpp.ppp.displayStringTextFormat | string | "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.dnPpp.ppp.interfaceTableModule | string |
The path to the InterfaceTable module |
|
| iUpf.dnPpp.ppp.sendRawBytes | bool | false |
When true packets are serialized into a sequence of bytes before sending out |
| iUpf.dnPpp.ppp.mtu | int | 4470B | |
| iUpf.dnPpp.ppp.stopOperationExtraTime | double | -1s |
Extra time after lifecycle stop operation finished |
| iUpf.dnPpp.ppp.stopOperationTimeout | double | 2s |
Timeout value for lifecycle stop operation |
| iUpf.relay.trafficFlowFilter.binderModule | string | "binder" | |
| iUpf.relay.trafficFlowFilter.fastForwarding | bool | true | |
| iUpf.relay.gtpUser.binderModule | string | "binder" | |
| iUpf.relay.gtpUser.localPort | int | 31 | |
| iUpf.relay.gtpUser.tunnelPeerPort | int | 31 | |
| iUpf.rd.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.rd.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.rd.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.nodeControl.binderModule | string | "binder" | |
| iUpf.nodeControl.gtpUserModule | string | "^.relay.gtpUser" | |
| iUpf.nodeControl.trafficFlowFilterModule | string | "^.relay.trafficFlowFilter" | |
| iUpf.nodeControl.ethernetBridgeModule | string | "^.ethBridge.sessionMux" |
The node's Ethernet session bridge (see EthernetSessionBridge), if it has one |
| iUpf.nodeControl.unstructuredPrefix | string | "" |
The prefix the N6 addresses of Unstructured sessions are allocated from, e.g. "2001:db8:5::/64" or "10.5.0.0/16"; empty = the node anchors no Unstructured session (see the main comment) |
| iUpf.nodeControl.unstructuredServer | string | "" |
The application server the Unstructured sessions' uplink goes to: a module path relative to the network, resolved in the family of unstructuredPrefix |
| iUpf.nodeControl.unstructuredServerPort | int | -1 |
The UDP port of unstructuredServer the uplink goes to; must be set for Unstructured sessions |
| iUpf.nodeControl.unstructuredPort | int | -1 |
The UDP port the node receives the Unstructured sessions' downlink on, and sends their uplink from; must be set for Unstructured sessions |
| iUpf.ndResponder.binderModule | string | "binder" | |
| iUpf.ndResponder.linkLocalAddress | string | "fe80::1" |
The router's address on every session's link |
| iUpf.ndResponder.routerLifetime | double | 9000s |
Router Lifetime in the Router Advertisements (max 9000s, RFC 4861) |
| iUpf.ndResponder.curHopLimit | int | 64 |
Cur Hop Limit in the Router Advertisements (0 = unspecified) |
| iUpf.ndResponder.checksumMode | string | "declared" | |
| iUpf.ethBridge.macTable.agingTime | double | ||
| iUpf.ethBridge.macTable.forwardingTableFile | string | ||
| iUpf.ethBridge.interfaceTable.displayStringTextFormat | string | "{numInterfaces} interfaces" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.ethBridge.interfaceTable.displayAddresses | bool | false |
Whether to display IP addresses on links |
| iUpf.ethBridge.sessionMux.interfaceTableModule | string |
The bridge's interface table, which the session ports are registered in |
|
| iUpf.ethBridge.sessionMux.macTableModule | string |
The bridge's MAC table, flushed of a released session's port |
|
| iUpf.ethBridge.sessionMux.portModuleType | string | "simu5g.corenetwork.ethernetSessionBridge.EthernetSessionPort" |
The module type of the session ports |
| iUpf.ethBridge.sessionMux.portDisplayString | string | "p=500,420,row,100;g=sessionPorts" |
Display string of the session ports (their place in the bridge's layout) |
| iUpf.ethBridge.cb.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.ethBridge.cb.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.ethBridge.cb.forwardServiceRegistration | bool | true | |
| iUpf.ethBridge.cb.forwardProtocolRegistration | bool | true | |
| iUpf.ethBridge.cb.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.ethBridge.cb.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| iUpf.ethBridge.cb.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| iUpf.ethBridge.bl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.ethBridge.bl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.ethBridge.bl.forwardServiceRegistration | bool | true | |
| iUpf.ethBridge.bl.forwardProtocolRegistration | bool | true | |
| iUpf.ethBridge.bl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.ethBridge.bl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| iUpf.ethBridge.bl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| iUpf.ethBridge.li.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| iUpf.ethBridge.li.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| iUpf.ethBridge.li.forwardServiceRegistration | bool | true | |
| iUpf.ethBridge.li.forwardProtocolRegistration | bool | true | |
| iUpf.ethBridge.li.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| iUpf.ethBridge.li.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| iUpf.ethBridge.li.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| iUpf.dnEth.bitrate | double | ||
| gnb.interfaceTable.displayStringTextFormat | string | "{numInterfaces} interfaces" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.interfaceTable.displayAddresses | bool | false |
Whether to display IP addresses on links |
| gnb.mobility.displayStringTextFormat | string | "p: {position}\nv: {velocity}" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.mobility.subjectModule | string | "^" |
The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module |
| gnb.mobility.coordinateSystemModule | string | "" |
The module path of the geographic coordinate system module; optional, empty disables geographic conversion (and the {geo_position} directive) |
| gnb.mobility.updateDisplayString | bool | true |
Enables continuous update of the subject module's position by modifying its display string |
| gnb.mobility.constraintAreaMinX | double | -inf m |
The minimum x position of the constraint area. It is unconstrained by default (negative infinity) |
| gnb.mobility.constraintAreaMinY | double | -inf m |
The minimum y position of the constraint area. It is unconstrained by default (negative infinity) |
| gnb.mobility.constraintAreaMinZ | double | -inf m |
The minimum z position of the constraint area. It is unconstrained by default (negative infinity) |
| gnb.mobility.constraintAreaMaxX | double | inf m |
The maximum x position of the constraint area. It is unconstrained by default (positive infinity) |
| gnb.mobility.constraintAreaMaxY | double | inf m |
The maximum y position of the constraint area. It is unconstrained by default (positive infinity) |
| gnb.mobility.constraintAreaMaxZ | double | inf m |
The maximum z position of the constraint area. It is unconstrained by default (positive infinity) |
| gnb.mobility.initialX | double | uniform(this.constraintAreaMinX, this.constraintAreaMaxX) | |
| gnb.mobility.initialY | double | uniform(this.constraintAreaMinY, this.constraintAreaMaxY) | |
| gnb.mobility.initialZ | double | nanToZero(uniform(this.constraintAreaMinZ, this.constraintAreaMaxZ)) | |
| gnb.mobility.initialLatitude | double | nan deg | |
| gnb.mobility.initialLongitude | double | nan deg | |
| gnb.mobility.initialAltitude | double | 0m | |
| gnb.mobility.initialHeading | double | 0deg | |
| gnb.mobility.initialElevation | double | 0deg | |
| gnb.mobility.initialBank | double | 0deg | |
| gnb.mobility.initFromDisplayString | bool | true |
Enables one-time initialization from the subject module's display string |
| gnb.mobility.updateFromDisplayString | bool | true |
Enables continuous update from the subject module's display string for dragging and rotating it |
| gnb.cellInfo.constraintAreaMinX | double | -1m/0 |
The minimum X-coordinate of the area constraint, unconstrained by default |
| gnb.cellInfo.constraintAreaMinY | double | -1m/0 |
The minimum Y-coordinate of the area constraint, unconstrained by default |
| gnb.cellInfo.constraintAreaMaxX | double | 1m/0 |
The maximum X-coordinate of the area constraint, unconstrained by default |
| gnb.cellInfo.constraintAreaMaxY | double | 1m/0 |
The maximum Y-coordinate of the area constraint, unconstrained by default |
| gnb.cellInfo.beaconInterval | double | 1s |
Interval for sending broadcast messages (used for handover or DAS) |
| gnb.cellInfo.microCell | bool | false |
Type of eNodeB (MICRO / MACRO) - valid only for eNodeBs |
| gnb.cellInfo.rbyDl | int | 12 |
Number of sub-carriers per RB in DL |
| gnb.cellInfo.rbyUl | int | 12 |
Number of sub-carriers per RB in UL |
| gnb.cellInfo.rbxDl | int | 7 |
Number of OFDM symbols per slot in DL |
| gnb.cellInfo.rbxUl | int | 7 |
Number of OFDM symbols per slot in UL |
| gnb.cellInfo.rbPilotDl | int | 3 |
Number of pilot Resource Elements per RB in DL |
| gnb.cellInfo.rbPilotUl | int | 0 |
Number of pilot Resource Elements per RB in UL |
| gnb.cellInfo.signalDl | int | 1 |
Number of signaling symbols for each Resource Block in DL |
| gnb.cellInfo.signalUl | int | 1 |
Number of signaling symbols for each Resource Block in UL |
| gnb.cellInfo.numPreferredBands | int | 1 |
Number of preferred bands to use (relevant only in PREFERRED mode) |
| gnb.cellInfo.binderModule | string | "binder" | |
| gnb.collector.collectorType | string |
One of "eNBStatsCollector", "gNBStatsCollector", "ueStatsCollector", "NrUeStatsCollector" |
|
| gnb.pppIf.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.pppIf.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| gnb.pppIf.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| gnb.pppIf.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| gnb.pppIf.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| gnb.pppIf.pcapRecorder.fileFormat | string | "pcapng" | |
| gnb.pppIf.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| gnb.pppIf.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| gnb.pppIf.pcapRecorder.dumpBadFrames | bool | true |
Enable dump of frames with hasBitError |
| gnb.pppIf.pcapRecorder.sendingSignalNames | string | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| gnb.pppIf.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
Space-separated list of inbound packet signals to subscribe to |
| gnb.pppIf.pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
Space-separated list of protocol names as defined in the Protocol class |
| gnb.pppIf.pcapRecorder.packetFilter | object | "*" |
Which packets are considered, matches all packets by default |
| gnb.pppIf.pcapRecorder.helpers | string | "" |
Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
| gnb.pppIf.pcapRecorder.alwaysFlush | bool | false |
Flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
| gnb.pppIf.ppp.displayStringTextFormat | string | "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.pppIf.ppp.interfaceTableModule | string |
The path to the InterfaceTable module |
|
| gnb.pppIf.ppp.sendRawBytes | bool | false |
When true packets are serialized into a sequence of bytes before sending out |
| gnb.pppIf.ppp.mtu | int | 4470B | |
| gnb.pppIf.ppp.stopOperationExtraTime | double | -1s |
Extra time after lifecycle stop operation finished |
| gnb.pppIf.ppp.stopOperationTimeout | double | 2s |
Timeout value for lifecycle stop operation |
| gnb.x2ppp.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.x2ppp.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| gnb.x2ppp.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| gnb.x2ppp.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| gnb.x2ppp.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| gnb.x2ppp.pcapRecorder.fileFormat | string | "pcapng" | |
| gnb.x2ppp.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| gnb.x2ppp.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| gnb.x2ppp.pcapRecorder.dumpBadFrames | bool | true |
Enable dump of frames with hasBitError |
| gnb.x2ppp.pcapRecorder.sendingSignalNames | string | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| gnb.x2ppp.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
Space-separated list of inbound packet signals to subscribe to |
| gnb.x2ppp.pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
Space-separated list of protocol names as defined in the Protocol class |
| gnb.x2ppp.pcapRecorder.packetFilter | object | "*" |
Which packets are considered, matches all packets by default |
| gnb.x2ppp.pcapRecorder.helpers | string | "" |
Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
| gnb.x2ppp.pcapRecorder.alwaysFlush | bool | false |
Flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
| gnb.x2ppp.ppp.displayStringTextFormat | string | "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.x2ppp.ppp.interfaceTableModule | string |
The path to the InterfaceTable module |
|
| gnb.x2ppp.ppp.sendRawBytes | bool | false |
When true packets are serialized into a sequence of bytes before sending out |
| gnb.x2ppp.ppp.mtu | int | 4470B | |
| gnb.x2ppp.ppp.stopOperationExtraTime | double | -1s |
Extra time after lifecycle stop operation finished |
| gnb.x2ppp.ppp.stopOperationTimeout | double | 2s |
Timeout value for lifecycle stop operation |
| gnb.pppMEHostIf.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.pppMEHostIf.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| gnb.pppMEHostIf.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| gnb.pppMEHostIf.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| gnb.pppMEHostIf.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| gnb.pppMEHostIf.pcapRecorder.fileFormat | string | "pcapng" | |
| gnb.pppMEHostIf.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| gnb.pppMEHostIf.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| gnb.pppMEHostIf.pcapRecorder.dumpBadFrames | bool | true |
Enable dump of frames with hasBitError |
| gnb.pppMEHostIf.pcapRecorder.sendingSignalNames | string | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| gnb.pppMEHostIf.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
Space-separated list of inbound packet signals to subscribe to |
| gnb.pppMEHostIf.pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
Space-separated list of protocol names as defined in the Protocol class |
| gnb.pppMEHostIf.pcapRecorder.packetFilter | object | "*" |
Which packets are considered, matches all packets by default |
| gnb.pppMEHostIf.pcapRecorder.helpers | string | "" |
Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
| gnb.pppMEHostIf.pcapRecorder.alwaysFlush | bool | false |
Flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
| gnb.pppMEHostIf.ppp.displayStringTextFormat | string | "rate: %b\nsent: %s, rcvd: %r\nqueue: %q, drop: %d" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.pppMEHostIf.ppp.interfaceTableModule | string |
The path to the InterfaceTable module |
|
| gnb.pppMEHostIf.ppp.sendRawBytes | bool | false |
When true packets are serialized into a sequence of bytes before sending out |
| gnb.pppMEHostIf.ppp.mtu | int | 4470B | |
| gnb.pppMEHostIf.ppp.stopOperationExtraTime | double | -1s |
Extra time after lifecycle stop operation finished |
| gnb.pppMEHostIf.ppp.stopOperationTimeout | double | 2s |
Timeout value for lifecycle stop operation |
| gnb.udp.displayStringTextFormat | string | "passed up: {numPassedUp} pks\nsent: {numSent} pks{udpDroppedText}" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.udp.interfaceTableModule | string |
The path to the InterfaceTable module |
|
| gnb.udp.checksumMode | string | "declared" | |
| gnb.udp.defaultMulticastLoop | bool | true | |
| gnb.tcp.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.tcp.checksumMode | string | "declared" | |
| gnb.tcp.advertisedWindow | int | 14 * this.mss |
In bytes, corresponds with the maximal receiver buffer capacity (Note: normally, NIC queues should be at least this size) |
| gnb.tcp.delayedAcksEnabled | bool | false |
Delayed ACK algorithm (RFC 1122) enabled/disabled |
| gnb.tcp.nagleEnabled | bool | true |
Nagle's algorithm (RFC 896) enabled/disabled |
| gnb.tcp.limitedTransmitEnabled | bool | false |
Limited Transmit algorithm (RFC 3042) enabled/disabled (can be used for TcpReno/TcpTahoe/TcpNewReno/TcpNoCongestionControl) |
| gnb.tcp.increasedIWEnabled | bool | false |
Increased Initial Window (RFC 3390) enabled/disabled |
| gnb.tcp.sackSupport | bool | false |
Selective Acknowledgment (RFC 2018, 2883, 3517) support (header option) (SACK will be enabled for a connection if both endpoints support it) |
| gnb.tcp.windowScalingSupport | bool | false |
Window Scale (RFC 1323) support (header option) (WS will be enabled for a connection if both endpoints support it) |
| gnb.tcp.windowScalingFactor | int | -1 |
Window Scaling Factor given as a shift count. Valid values are 0..14, and -1 for automatic selection (it chooses the smallest shift count that makes advertisedWindow representable in 16 bits) |
| gnb.tcp.timestampSupport | bool | false |
Timestamps (RFC 1323) support (header option) (TS will be enabled for a connection if both endpoints support it) |
| gnb.tcp.mss | int | 536 |
Maximum Segment Size (header option). Default 536 per RFC 1122. |
| gnb.tcp.msl | int | 120s |
Maximum Segment Lifetime |
| gnb.tcp.tcpAlgorithmClass | string | "TcpReno" | |
| gnb.tcp.dupthresh | int | 3 |
Used for TcpTahoe, TcpReno, and SACK (RFC 3517) DO NOT change unless you really know what you are doing |
| gnb.tcp.initialSsthresh | int | 0xFFFFFFFF |
Initial value for Slow Start threshold used in TahoeRenoFamily. The initial value of ssthresh SHOULD be set arbitrarily high (e.g., to the size of the largest possible advertised window) Without user interaction there is no limit... |
| gnb.tcp.stopOperationExtraTime | double | 0s |
Extra time after lifecycle stop operation finished |
| gnb.tcp.stopOperationTimeout | double | 2s |
Timeout value for lifecycle stop operation |
| gnb.tcp.ecnWillingness | bool | false |
True if willing to use ECN |
| gnb.tcp.dctcpGamma | double | 0.0625 |
A fixed estimation gain for calculating dctcp_alpha (RFC 8257 4.2) |
| gnb.tcp.pmtudEnabled | bool | false |
Path MTU Discovery (RFC 1191, RFC 1981) enabled/disabled |
| gnb.tcp.pmtudTimeout | double | 600s |
Time after which the original MSS is restored to probe for increased path MTU (RFC 1191, Section 6.3) |
| gnb.x2App.client.displayStringTextFormat | string | "{socketState}" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.x2App.client.localAddress | string | "" |
Comma-separated list of addresses |
| gnb.x2App.client.localPort | int | 0 |
Port number to listen on |
| gnb.x2App.client.connectAddress | string |
Server address (may be symbolic) |
|
| gnb.x2App.client.connectPort | int | 5000 |
Port number to connect to |
| gnb.x2App.client.startTime | double | 0s |
Time the first session begins |
| gnb.x2App.client.numRequestsPerSession | int | 1 |
Number of requests sent per session |
| gnb.x2App.client.numPacketsToReceive | int | 0 | |
| gnb.x2App.client.requestLength | int | 1452 |
Length of a request (bytes) |
| gnb.x2App.client.thinkTime | double | 0s |
Time gap between requests |
| gnb.x2App.client.waitToClose | double | 0s |
Time to wait between the last message sent and abort |
| gnb.x2App.client.reconnectInterval | double | 0s |
If the connection breaks, waits this much before trying to reconnect |
| gnb.x2App.client.inboundStreams | int | 17 | |
| gnb.x2App.client.outboundStreams | int | 1 | |
| gnb.x2App.client.echo | bool | false |
Echoes received packages when true |
| gnb.x2App.client.ordered | bool | true | |
| gnb.x2App.client.queueSize | int | 0 | |
| gnb.x2App.client.prMethod | int | 0 |
0=NONE, 1=PR_TTL, 2=PR_RTX, 3=PR_PRIO, 4=PR_STRRST |
| gnb.x2App.client.prValue | double | 0 |
For PR-SCTP |
| gnb.x2App.client.streamReset | bool | false | |
| gnb.x2App.client.streamRequestTime | double | 0s | |
| gnb.x2App.client.streamResetType | int | 5 |
NO_RESET=5, RESET_OUTGOING=6, RESET_INCOMING=7, RESET_BOTH=8, SSN_TSN=9 |
| gnb.x2App.client.streamToReset | int | 0 | |
| gnb.x2App.client.stopTime | double | -1s |
Time of finishing sending, negative values mean forever |
| gnb.x2App.client.primaryTime | double | 0s | |
| gnb.x2App.client.newPrimary | string | "" | |
| gnb.x2App.client.streamRequestLengths | string | "" | |
| gnb.x2App.client.streamRequestRatio | string | "" | |
| gnb.x2App.client.streamPriorities | string | "" | |
| gnb.x2App.client.finishEndsSimulation | bool | false | |
| gnb.x2App.client.binderModule | string | "binder" | |
| gnb.x2App.server.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.x2App.server.localAddress | string | "" |
Comma-separated list of addresses |
| gnb.x2App.server.localPort | int | 0 |
Port number to listen on |
| gnb.x2App.server.echo | bool | false |
Echoes received packages when true |
| gnb.x2App.server.echoDelay | double | 0s | |
| gnb.x2App.server.delayFirstRead | double | 0s | |
| gnb.x2App.server.readingInterval | double | 0s | |
| gnb.x2App.server.messagesToPush | int | 0 | |
| gnb.x2App.server.numPacketsToSendPerClient | int | 0 |
Number of requests sent per session |
| gnb.x2App.server.numPacketsToReceivePerClient | int | 1 | |
| gnb.x2App.server.requestLength | int | 1452 |
Length of a request (bytes) |
| gnb.x2App.server.thinkTime | double | 0s |
Time gap between requests |
| gnb.x2App.server.waitToClose | double | 0s |
Time to wait between last message sent and abort |
| gnb.x2App.server.finishEndsSimulation | bool | false | |
| gnb.x2App.server.ordered | bool | true | |
| gnb.x2App.server.inboundStreams | int | 17 | |
| gnb.x2App.server.outboundStreams | int | 1 | |
| gnb.x2App.server.queueSize | int | 0 | |
| gnb.x2App.server.prMethod | int | 0 |
0=NONE, 1=PR_TTL, 2=PR_RTX, 3=PR_PRIO, 4=PR_STRRST |
| gnb.x2App.server.prValue | double | 0 |
For PR-SCTP |
| gnb.x2App.server.streamReset | bool | false | |
| gnb.x2App.server.streamRequestTime | double | 0s | |
| gnb.x2App.server.streamToReset | int | 0 | |
| gnb.x2App.server.streamPriorities | string | "" | |
| gnb.x2App.server.binderModule | string | "binder" | |
| gnb.sctp.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.sctp.interfaceTableModule | string | ||
| gnb.sctp.routingTableModule | string | ||
| gnb.sctp.checksumMode | string | "declared" | |
| gnb.sctp.numGapReports | int | 3 | |
| gnb.sctp.rtoInitial | double | 3s | |
| gnb.sctp.rtoMin | double | 1s | |
| gnb.sctp.rtoMax | double | 60s | |
| gnb.sctp.rtoAlpha | double | 0.125 | |
| gnb.sctp.rtoBeta | double | 0.250 | |
| gnb.sctp.maxBurst | int | 4 | |
| gnb.sctp.maxBurstVariant | string | "maxBurst" | |
| gnb.sctp.initialWindow | int | 0 | |
| gnb.sctp.assocMaxRetrans | int | 10 | |
| gnb.sctp.pathMaxRetrans | int | 5 | |
| gnb.sctp.maxInitRetrans | int | 8 | |
| gnb.sctp.sackPeriod | double | 200ms | |
| gnb.sctp.sackFrequency | int | 2 | |
| gnb.sctp.reactivatePrimaryPath | bool | false | |
| gnb.sctp.sendQueueLimit | int | 0 | |
| gnb.sctp.validCookieLifetime | double | 10s | |
| gnb.sctp.enableHeartbeats | bool | true | |
| gnb.sctp.hbInterval | double | 30s | |
| gnb.sctp.sendHeartbeatsOnActivePaths | bool | false | |
| gnb.sctp.nagleEnabled | bool | true | |
| gnb.sctp.naglePoint | int | 1468 | |
| gnb.sctp.fragPoint | int | 1452 | |
| gnb.sctp.fastRecoverySupported | bool | true | |
| gnb.sctp.sctpAlgorithmClass | string | "SctpAlg" | |
| gnb.sctp.ccModule | int | 0 |
RFC4960=0 |
| gnb.sctp.osbWithHeader | bool | false | |
| gnb.sctp.RTXMethod | int | 0 |
0=Once after 3 Sacks; 1=once per RTT; 2=Switch off Fast Retransmit; 3=Always after 3 Sacks |
| gnb.sctp.ssModule | int | 0 | |
| gnb.sctp.arwnd | int | 65535 | |
| gnb.sctp.swsLimit | int | 3000 |
Limit for SWS |
| gnb.sctp.udpEncapsEnabled | bool | false | |
| gnb.sctp.natFriendly | bool | false | |
| gnb.sctp.bytesToAddPerRcvdChunk | int | 0 |
For flow control |
| gnb.sctp.bytesToAddPerPeerChunk | int | 0 |
For flow control |
| gnb.sctp.tellArwnd | bool | false |
For flow control |
| gnb.sctp.messageAcceptLimit | int | 0 |
For flow control |
| gnb.sctp.fairStart | double | 0s | |
| gnb.sctp.fairStop | double | 0s | |
| gnb.sctp.streamsToPaths | string | "" | |
| gnb.sctp.startEndToEndDelay | int | 0 | |
| gnb.sctp.stopEndToEndDelay | int | 10 | |
| gnb.sctp.throughputInterval | double | 1 | |
| gnb.sctp.auth | bool | false | |
| gnb.sctp.chunks | string | "" | |
| gnb.sctp.padding | bool | false | |
| gnb.sctp.addIP | bool | false | |
| gnb.sctp.addTime | double | 0s | |
| gnb.sctp.addAddress | string | "" | |
| gnb.sctp.addIpType | string | "0" |
SET_PRIMARY_ADDRESS=49156,ADD_IP_ADDRESS=49153,DELETE_IP_ADDRESS=49154 |
| gnb.sctp.packetDrop | bool | false | |
| gnb.sctp.sackNow | bool | false | |
| gnb.sctp.highSpeedCC | bool | false | |
| gnb.sctp.checkSackSeqNumber | bool | false | |
| gnb.sctp.nrSack | bool | false | |
| gnb.sctp.disableReneging | bool | false | |
| gnb.sctp.gapReportLimit | int | 100000000 | |
| gnb.sctp.gapListOptimizationVariant | string | "none" | |
| gnb.sctp.smartOverfullSACKHandling | bool | false | |
| gnb.sctp.allowQoSTracking | bool | false | |
| gnb.sctp.qosTrackingInterval | double | 1.0s | |
| gnb.sctp.cmtSendAllVariant | string | "normal" | |
| gnb.sctp.cmtRetransmissionVariant | string | "normal" | |
| gnb.sctp.cmtCUCVariant | string | "normal" | |
| gnb.sctp.cmtBufferSplitVariant | string | "none" | |
| gnb.sctp.cmtBufferSplittingUsesOSB | bool | false | |
| gnb.sctp.cmtUseSFR | bool | true | |
| gnb.sctp.cmtUseDAC | bool | true | |
| gnb.sctp.cmtUseFRC | bool | true | |
| gnb.sctp.cmtSmartT3Reset | bool | true | |
| gnb.sctp.cmtSmartFastRTX | bool | true | |
| gnb.sctp.cmtSmartReneging | bool | false | |
| gnb.sctp.cmtSlowPathRTTUpdate | bool | false | |
| gnb.sctp.cmtChunkReschedulingVariant | string | "none" | |
| gnb.sctp.cmtChunkReschedulingThreshold | double | 0.5 | |
| gnb.sctp.cmtMovedChunksReduceCwnd | bool | true | |
| gnb.sctp.movedChunkFastRTXFactor | double | 2.0 | |
| gnb.sctp.cmtSackPath | string | "standard" | |
| gnb.sctp.strictCwndBooking | bool | false | |
| gnb.sctp.cmtCCVariant | string | "off" |
CMT Congestion Control Variant off = use over every path the default RFC4960 CC (New Reno) lia = First resource pooling congestion control RFC6356 adapted for SCTP - https://datatracker.ietf.org/doc/rfc6356/ olia = alternative MPTCP CC, adapted for SCTP- https://tools.ietf.org/html/draft-khalili-mptcp-congestion-control-05 cmtrpv1 = First resource pooling based CC for SCTP - https://www.tdr.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/SCTP/Paper/AINA2010.pdf cmtrpv2 = Updated version of cmtrpv1 - https://www.tdr.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/SCTP/Paper/ConTEL2011.pdf |
| gnb.sctp.cmtCCPathGroups | string | "" | |
| gnb.sctp.rpPathBlocking | bool | false | |
| gnb.sctp.rpScaleBlockingTimeout | bool | false | |
| gnb.sctp.rpMinCwnd | int | 1 | |
| gnb.at.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.at.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| gnb.at.forwardServiceRegistration | bool | true | |
| gnb.at.forwardProtocolRegistration | bool | true | |
| gnb.at.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| gnb.at.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| gnb.at.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| gnb.tn.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.tn.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| gnb.tn.forwardServiceRegistration | bool | true | |
| gnb.tn.forwardProtocolRegistration | bool | true | |
| gnb.tn.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| gnb.tn.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| gnb.tn.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| gnb.nl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| gnb.nl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| gnb.nl.forwardServiceRegistration | bool | true | |
| gnb.nl.forwardProtocolRegistration | bool | true | |
| gnb.nl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| gnb.nl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| gnb.relay.trafficFlowFilter.binderModule | string | "binder" | |
| gnb.relay.trafficFlowFilter.fastForwarding | bool | true | |
| gnb.relay.gtpUser.binderModule | string | "binder" | |
| gnb.relay.gtpUser.localPort | int | 31 | |
| gnb.relay.gtpUser.tunnelPeerPort | int | 31 | |
| gnb.gtpUserX2.binderModule | string | "binder" | |
| gnb.gtpUserX2.localPort | int | 32 | |
| gnb.gtpUserX2.tunnelPeerPort | int | 32 | |
| bgCell.mobility.displayStringTextFormat | string | "p: {position}\nv: {velocity}" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| bgCell.mobility.subjectModule | string | "^" |
The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module |
| bgCell.mobility.coordinateSystemModule | string | "" |
The module path of the geographic coordinate system module; optional, empty disables geographic conversion (and the {geo_position} directive) |
| bgCell.mobility.updateDisplayString | bool | true |
Enables continuous update of the subject module's position by modifying its display string |
| bgCell.mobility.constraintAreaMinX | double | -inf m |
The minimum x position of the constraint area. It is unconstrained by default (negative infinity) |
| bgCell.mobility.constraintAreaMinY | double | -inf m |
The minimum y position of the constraint area. It is unconstrained by default (negative infinity) |
| bgCell.mobility.constraintAreaMinZ | double | -inf m |
The minimum z position of the constraint area. It is unconstrained by default (negative infinity) |
| bgCell.mobility.constraintAreaMaxX | double | inf m |
The maximum x position of the constraint area. It is unconstrained by default (positive infinity) |
| bgCell.mobility.constraintAreaMaxY | double | inf m |
The maximum y position of the constraint area. It is unconstrained by default (positive infinity) |
| bgCell.mobility.constraintAreaMaxZ | double | inf m |
The maximum z position of the constraint area. It is 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.status.displayStringTextFormat | string | "{stateStr}" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.status.initialStatus | string | "UP" |
TODO @signal, @statistic |
| ue.environment.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.environment.initStage | int | 0 |
Initialization stage for the setup command |
| ue.environment.globalNamespace | bool | false |
Create new network namespaces under /var/run/netns/ (Linux only) |
| ue.environment.namespace | string | "" |
Name of the host OS network namespace (optional) (Linux only) |
| ue.environment.setupCommand | string | "" |
A host OS system command |
| ue.environment.teardownCommand | string | "" |
A host OS system command |
| ue.pcapRecorder.displayStringTextFormat | string | "rec: %n pks" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| ue.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| ue.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| ue.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| ue.pcapRecorder.fileFormat | string | "pcapng" | |
| ue.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| ue.pcapRecorder.timePrecision | int | 6 |
Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format). |
| ue.pcapRecorder.dumpBadFrames | bool | true |
Enable dump of frames with hasBitError |
| ue.pcapRecorder.moduleNamePatterns | string | "wlan[*] eth[*] ppp[*]" |
Space-separated list of sibling module names to listen on |
| ue.pcapRecorder.sendingSignalNames | string | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| ue.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
Space-separated list of inbound packet signals to subscribe to |
| ue.pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
Space-separated list of protocol names as defined in the Protocol class |
| ue.pcapRecorder.packetFilter | object | "*" |
Which packets are considered, matches all packets by default |
| ue.pcapRecorder.helpers | string | "" |
Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
| ue.pcapRecorder.alwaysFlush | bool | false |
Flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
| ue.interfaceTable.displayStringTextFormat | string | "{numInterfaces} interfaces" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.interfaceTable.displayAddresses | bool | false |
Whether to display IP addresses on links |
| ue.cb.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.cb.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| ue.cb.forwardServiceRegistration | bool | true | |
| ue.cb.forwardProtocolRegistration | bool | true | |
| ue.cb.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| ue.cb.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| ue.cb.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| ue.bl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.bl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| ue.bl.forwardServiceRegistration | bool | true | |
| ue.bl.forwardProtocolRegistration | bool | true | |
| ue.bl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| ue.bl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| ue.bl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| ue.li.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.li.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| ue.li.forwardServiceRegistration | bool | true | |
| ue.li.forwardProtocolRegistration | bool | true | |
| ue.li.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| ue.li.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| ue.li.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| ue.eth.bitrate | double | ||
| ue.nl.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.nl.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| ue.nl.forwardServiceRegistration | bool | true | |
| ue.nl.forwardProtocolRegistration | bool | true | |
| ue.nl.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| ue.nl.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| ue.nl.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| ue.tn.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.tn.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| ue.tn.forwardServiceRegistration | bool | true | |
| ue.tn.forwardProtocolRegistration | bool | true | |
| ue.tn.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| ue.tn.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| ue.tn.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| ue.at.displayStringTextFormat | string | "processed {numProcessedPackets} pk ({processedTotalLength})" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| ue.at.interfaceTableModule | string |
Module path to the InterfaceTable module |
|
| ue.at.forwardServiceRegistration | bool | true | |
| ue.at.forwardProtocolRegistration | bool | true | |
| ue.at.interfaceMapping | object | {} |
Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default |
| ue.at.serviceMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default |
| ue.at.protocolMapping | object | {} |
Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default |
| ue.macTable.agingTime | double | ||
| ue.macTable.forwardingTableFile | string |
Source code
// // One ~gNodeB served by a 5G core: the anchor ~Upf faces the data network (a // router and a server), and an intermediate ~Upf sits between it and the // gNodeB. numUe ~NrUe terminals attach to the gNodeB, and numBgCells // ~BackgroundCell cells can be added around it as interferers. // // The topology is 5G standalone, deployment option 2 of 3GPP TR 38.801. // network SingleCell_Standalone { parameters: int numUe = default(1); int numBgCells = default(0); // The gNB connects to a 5GC (Upf), so every cellular stack has SDAP: // TS 37.324 ties SDAP to the 5GC connection, not to the radio **.cellularNic.hasSdap = default(true); @display("i=block/network2;bgb=1000,1000;bgi=background/pisa"); submodules: channelControl: LteChannelControl { @display("p=50,25;is=s"); } routingRecorder: RoutingTableRecorder { @display("p=50,75;is=s"); } configurator: Ipv4NetworkConfigurator { @display("p=50,125;is=s"); } ipv6Configurator: <default("")> like IL3NetworkConfigurator if typename != "" { @display("p=50,325;is=s"); } binder: Binder { @display("p=50,175;is=s"); } coreControl: CoreControl { @display("p=50,375;is=s"); } bearerConfigurator: BearerConfigurator { @display("p=50,225;is=s"); } carrierAggregation: CarrierAggregation { @display("p=50,275;is=s"); } server: StandardHost { @display("p=212,118;is=n;i=device/server"); } router: Router { @display("p=363,115;i=device/smallrouter"); } upf: Upf { @display("p=527,116"); } iUpf: Upf { @display("p=725,118"); } gnb: gNodeB { @display("p=726,277;is=vl"); } bgCell[numBgCells]: BackgroundCell { @display("p=416,277;is=vl"); } ue[numUe]: NrUe { @display("p=628,411"); } connections: server.pppg++ <--> Eth10G <--> router.pppg++; router.pppg++ <--> Eth10G <--> upf.dnPppg; upf.pppg++ <--> Eth10G <--> iUpf.pppg++; iUpf.pppg++ <--> Eth10G <--> gnb.ppp; }File: simulations/nr/networks/SingleCell_Standalone.ned