Configuration Reference
OCUDU uses a YAML (.yml) configuration file.
The gNB comes with a number of example configuration files, these can be found in the configs/ folder in the source files.
These configuration file examples provide a basic set-up to get users up and running, users can easily modify these to suit their use-case.
These include sample supplementary configuration files for:
- MIMO with a USRP
- Increasing QAM from 64 to 256
- Specific QOS configurations for voice, video, IMS, live-streaming and buffered video streaming
- Slicing support
OCUDU allows configuration files to be used in concatenated with other configuration files, using the -c between configuration file. For example you might want to use both the n310 and MIMO example configs together as follows:
sudo ./gnb -c gnb_rf_n310_fdd_n3_20mhz.yml -c mimo.yml
Furthermore you may wish to use QAM256 in addition to the above. This can be done as follows:
sudo ./gnb -c gnb_rf_n310_fdd_n3_20mhz.yml -c mimo.yml -c qam256.yml
Configuration Reference
All configuration parameters are presented here below in the following format:
parameter: default_value # Optional/Required TYPE (default value). Parameter description. Format: <format description> OR Supported: <supported values>.
- gNodeB
- CU
- DU
ran_node_name: gnb01 # Required TEXT (cu_cp_01). Sets the text ID associated with the gNB. Format: string without spaces.
gnb_id: 411 # Required UINT (411). Sets the numerical ID associated with the gNB.
gnb_id_bit_length: 22 # Required UINT (22). Sets the bit length of the gnb_id above. Format: integer between [22 - 32]
gnb_cu_up_id: 0 # Optional UINT (0). Sets the gNB CU-UP ID. Supported: [0 - 68719476735].
gnb_du_id: 0 # Optional UINT (0). Sets the gNB DU ID. Supported: [0 - 68719476735].
cells: # Optional TEXT. Sets the cell configuration on a per cell basis, overwriting the default configuration defined by cell_cfg. Contains a list of cells, each with parameters that overwrite the default config. This can only be
# set via the configuration file. For more information see the relevant example configuration file: gnb_custom_cell_properties.yml. Each list entry should begin with "-".
- pci: 1 # Optional TEXT. Override the PCI defined by the default cell in cell_cfg.
dl_arfcn: 536020 # Optional TEXT. Set the ARFCN for the above PCI. Note, this must match the value used in the cell_cfg section.
- pci: 2 # Optional TEXT. Set the PCI of the second cell.
dl_arfcn: 532020 # Optional TEXT. Set the ARFCN of the second cell. Note, this must match the value used in the cell_cfg section.
qos: # Optional TEXT. Configures RLC and PDCP radio bearers on a per 5QI basis. This can only be set via the configuration file. Each list entry should begin with "-".
srbs: # Optional TEXT. Configures signaling radio bearers. Each list entry should begin with "-".
cu_cp:
max_nof_dus: 6 # Optional UINT. Maximum number of DU connections that the CU-CP may accept.
max_nof_cu_ups: 6 # Optional UINT. Maximum number of CU-UP connections that the CU-CP may accept.
max_nof_ues: 8192 # Optional UINT. Maximum number of UEs that the CU-CP may accept.
max_nof_drbs_per_ue: 8 # Optional UINT. Maximum number of DRBs per UE. Supported: [1 - 29].
inactivity_timer: 120 # Optional INT (120). Sets the UE/PDU Session/DRB inactivity timer in seconds. Supported: [1 - 7200].
request_pdu_session_timeout: 3 # Optional INT (3). Timeout for the setup of a PDU session after an InitialUeMessage was sent to the core, in seconds. The timeout must be larger than T310. If the value is reached, the UE will be released
amf:
no_core: false # Optional BOOLEAN. Setting to true allows the gNB to run without a core. Supported: [0, 1].
amf_reconnection_retry_time: 1000 # Optional INT (1000). Sets the time in ms to wait before retrying to connect to the AMF after a failed connection attempt.
addr: # Required TEXT. Sets the IP address or hostname of the AMF. Format: IPV4 or IPV6 IP address.
port: 38412 # Optional UINT. Sets the AMF port. Format: integer between [20000 - 40000].
bind_addr: 127.0.0.1 # Optional TEXT. Sets local IP address to bind for N2 interface. Format: IPV4 or IPV6 IP address.
bind_interface: auto # Optional TEXT (auto). Sets network device to bind for N2 interface. Format: IPV4 or IPV6 IP address.
sctp_rto_initial: 120 # Optional INT. Sets the initial retransmission timeout when creating the SCTP connection.
sctp_rto_min: 120 # Optional INT. Sets the minimum retransmission timeout for the SCTP connection.
sctp_rto_max: 500 # Optional INT. Sets the maximum retransmission timeout for the SCTP connection.
sctp_init_max_attempts: 3 # Optional INT. Sets the maximum retransmission attempts for the initial SCTP connection.
sctp_max_init_timeo: 500 # Optional INT. Sets the maximum retransmission timeout for the initial SCTP connection.
sctp_hb_interval: 30000 # Optional INT (30000). SCTP heartbeat interval in milliseconds (-1 to use system default).
sctp_assoc_max_retx: 10 # Optional INT (10). SCTP association max retransmissions (-1 to use system default).
sctp_nodelay: false # Optional BOOLEAN. Setting to true allows the gNB to send SCTP messages as soon as possible without any Nagle-like algorithm. Supported: [false, true].
supported_tracking_areas: # Optional TEXT. Sets the list of tracking areas supported by this AMF.
- # Supported TAC #1
tac: 7 # Required UINT. Sets the Tracking Area Code.
plmn_list: # Required TEXT. Sets the list of PLMN items supported for this Tracking Area.
- # Sup ported PLMN #1
plmn: "00101" # Required TEXT. Sets the Public Land Mobile Network code. Format: 7-digit PLMN code containing MCC & MNC.
tai_slice_support_list: # Required TEXT. Sets the list of TAI slices for this PLMN item.
- # Supported TAI Slice(s) for PLMN
sst: 1 # Optional UINT. Sets the Slice Service Type. Supported: [0 - 255].
sd: # Optional UINT. Sets the Service Differentiator. Supported: [0-16777215].
mobility:
trigger_handover_from_measurements: false # Optional BOOLEAN (false). Sets whether or not to start HO if neighbor cells become stronger. Supported: [false, true].
cells: # Optional TEXT. Sets the list of cells known to the CU-CP, their configs (if not provided over F1) and their respective neighbor cells.
- # Define Cell 1
nr_cell_id: # Required UINT. The ID of a cell that belongs to this gNB.
periodic_report_cfg_id: # Optional UINT. The periodical report configuration to use for this cell.
ncells: # Required TEXT. List of neighbor cells.
- # Define neighbour cell(s) of Cell 1.
nr_cell_id: # Required UINT. The ID of this neighbor cell.
report_configs: # Required TEXT. List of report configurations to use for measurements of this neighbor cell.
- # Define Cell 2
nr_cell_id: # Required UINT. The ID of a cell that does not belong to this gNB.
ncells: # Required TEXT. List of neighbor cells.
- # Define neighbour cell(s) of Cell 2.
nr_cell_id: # Required UINT. The ID of this neighbor cell.
report_configs: # Required TEXT. List of report configurations to use for measurements of this neighbor cell.
gnb_id_bit_length: # Optional UINT. The ID of this cell's gNB. Must be present if the cell does not belong to this gNB. Supported: [22 - 32]
pci: # Optional UINT. The PCI of this cell. Must be present if the cell does not belong to this gNB. Supported: [0-1007]
band: # Optional UINT. The NR band of this cell. Must be present if the cell does not belong to this gNB.
ssb_scs: # Optional UINT. The SSB subcarrier spacing of this cell in KHz. Must be present if cell does not belong to this gNB.
ssb_period: # Optional UINT. The SSB period of this cell in ms. Must be present if cell does not belong to this gNB.
ssb_offset: # Optional UINT. The SSB offset of this cell. Must be present if cell does not belong to this gNB.
ssb_duration: # Optional UINT. The SSB duration of this cell in subframes. Must be present if cell does not belong to this gNB.
report_configs: # Optional TEXT. Sets the list of report configurations to dynamically build a measurement configuration sent to the UEs using the below values.
- # Define report configs to be used by the UEs
report_cfg_id: # Required UINT. The ID of this report configuration.
report_type: # Required TEXT. The type of the report. Supported: [event_triggered, periodical]. Note that periodical reports are only supported for serving cells.
event_triggered_report_type: # Optional TEXT. Sets the type of event triggered report. Supported: [a1, a2, a3, a4, a5, a6].
report_interval_ms: 1024 # Optional UINT (1024). The report interval in ms. Supported: [120, 240, 480, 640, 1024, 2048, 5120, 10240, 20480, 40960, 60000, 360000, 720000, 1800000].
meas_trigger_quantity: # Optional TEXT. Sets the quantity to be measured. Supported: [rsrp, rsrq, sinr].
meas_trigger_quantity_threshold_db: # Optional UINT. Sets the measurement trigger quantity threshold in dB used for measurement report trigger of event A1/A2/A4/A5. Supported: [0 - 127].
meas_trigger_quantity_threshold_2_db: # Optional UINT. Sets the measurement trigger quantity threshold 2 in dB used for measurement report trigger of event A5. Supported: [0 - 127].
meas_trigger_quantity_offset_db: # Optional UINT. Sets the measurement trigger quantity offset in dB used for measurement report trigger of event A3/A6. Note the actual value is field value * 0.5 dB. Supported: [-30 - 30].
hysteresis_db: # Optional UINT. Sets the hysteresis in dB used for measurement report trigger. Note the actual value is field value * 0.5 dB. Supported: [0 - 30].
time_to_trigger_ms: # Optional UINT. Sets the time in ms during which a condition must be met before measurement report trigger. Supported: [0, 40, 64, 80, 100, 128, 160, 256, 320, 480, 512, 640, 1024, 1280, 2560, 5120].
rrc:
force_reestablishment_fallback: false # Optional BOOLEAN (false). Force RRC re-establishment fallback to RRC setup. Supported: [false, true].
rrc_procedure_guard_time_ms: 1000 # Optional UINT (1000). Sets the guard time in ms used for RRC message exchange with UE. This is added to the RRC procedure timeout. Supported: [0 - inf].
security:
integrity: not_needed # Optional TEXT (not_needed). Sets the default integrity protection indication for DRBs.
confidentiality: required # Optional TEXT (required). Sets the default integrity confidentiality indication for DRBs.
nea_pref_list: nea0,nea2,nea1 # Optional TEXT (nea0,nea2,nea1). Ordered preference list for the selection of encryption algorithm (NEA). Supported: [nea0,nea2,nea1,nea3].
nia_pref_list: nia2,nia1 # Optional TEXT (nia2,nia1). Ordered preference list for the selection of encryption algorithm (NIA). Supported: [nia2,nia1,nia3].
f1ap:
procedure_timeout: 1000 # Optional INT (1000). Sets the time the F1AP waits for a DU response in milliseconds.
e1ap:
procedure_timeout: 1000 # Optional INT (1000). Sets the time the E1AP waits for a CU-UP response in milliseconds.
cu_up:
warn_on_drop: false # Optional BOOLEAN (false). Enables the option to log a warning for dropped packets in GTP-U and PDCP due to full queues. Supported: [false, true].
ngu:
no_core: false # Optional BOOLEAN (false). Setting to true allows the gNB to run without a core. Supported: [0, 1].
gtpu:
queue_size: 2046 # Optional UINT (2046). GTP-U queue size, in PDUs
batch_size: 256 # Optional UINT (256). Maximum number of GTP-U PDUs processed in a batch
reordering_timer: 0 # Optional UINT (0). GTP-U RX reordering timer (in milliseconds)
rate_limiter_period: 100 # Optional INT. GTP-U RX rate limiter period (in milliseconds)
ignore_ue_ambr: true # Optional BOOLEAN (true). Ignore GTP-U DL UE-AMBR rate limiter
socket: # Define socket(s) for NG-U interface.
- # Socket 1
bind_addr: 127.0.0.1 # Optional TEXT (auto). Sets local IP address to bind for N3 interface. Format: IPV4 or IPV6 IP address.
udp:
max_rx_msgs: 256 # Optional INT (256). Sets the maximum number of messages RX from a socket in a single syscall.
tx_qsize: 4096 # Optional INT (4096). Sets the transmit queue of the UDP gatewsy.
max_tx_msgs: 256 # Optional INT (256). Sets the maximum number of messages TX from a socket in a single syscall.
max_tx_segments: 256 # Optional INT (256). Sets the maximum number amount on a segments TX SDU.
pool_threshold: 0.9 # Optional FLOAT (0.9). Sets the pool occupancy threshold, after which packets are dropped. Supported: [0.0 - 1.0].
dscp: # Optional UINT. Sets the Differentiated Services Code Point. Supported: [0 - 63].
test_mode:
enable: false # Optional BOOLEAN (false). Enable or disable CU-UP test mode
integrity_enable: false # Optional BOOLEAN (false). Enable or disable PDCP integrity testing
ciphering_enable: false # Optional BOOLEAN (false). Enable or disable PDCP ciphering testing
nea_algo: 2 # Optional UINT:INT (2). NEA algo to use for testing. Format: [0 - 3]
nia_algo: 2 # Optional UINT:INT (2). NIA algo to use for testing. Format: [1 - 3]
ue_ambr: # Optional UINT. DL UE-AMBR used for testing in bps
attach_detach_period: # Optional INT. Attach/detach period for test mode. 0 means always attached.
reestablish_period: # Optional INT. Re-establish period for test mode. 0 means no re-establishment.
du:
warn_on_drop: false # Optional BOOLEAN (false). Enables the option to log a warning for dropped packets in F1-U, RLC and MAC due to full queues. Supported: [false, true].
cell_cfg:
pci: 1 # Required UINT (1). Sets the Physical Cell ID. Supported: [0-1007].
sector_id: 0 # Optional UINT (0). Sets the Sector ID (4-14 bits). This value is concatenated with the gNB Id to form the NR Cell Identity (NCI). If not specified, a unique value for the DU is automatically derived. Supported: [0 - 16383].
dl_arfcn: 536020 # Required UINT (536020). Sets the Downlink ARFCN.
band: auto # Optional TEXT (auto). Sets the NR band being used for the cell. If not specified, will be set automatically based on ARFCN. Supported: all release 17 bands.
common_scs: 15 # Required UINT (15). Sets the subcarrier spacing in KHz to be used by the cell. Supported: [15, 30].
channel_bandwidth_MHz: 20 # Required UINT (20). Sets the channel Bandwidth in MHz, the number of PRBs will be derived from this. Supported: [5, 10, 15, 20, 25, 30, 40, 50, 60, 70, 80, 90, 100].
nof_antennas_dl: 1 # Optional UINT (1). Sets the number of antennas for downlink transmission. Supported: [1, 2, 4].
nof_antennas_ul: 1 # Optional UINT (1). Sets the number of antennas for uplink transmission. Supported: [1, 2, 4].
plmn: 00101 # Required TEXT (00101). Sets the Public Land Mobile Network code. Format: 7-digit PLMN code containing MCC & MNC.
tac: 7 # Required UINT (7). Sets the Tracking Area Code.
enabled: true # Optional BOOLEAN (true). Sets whether the cell is enabled on start-up or not. Supported: [false, true].
q_rx_lev_min: -70 # Optional INT (-70). Sets the required minimum received RSRP level for cell selection/re-selection, in dBm. Supported: [-70 - -22].
q_qual_min: -20 # Optional INT (-20). Sets the required minimum received RSRQ level for cell selection/re-selection, in dB. Supported: [-43 - -12].
pcg_p_nr_fr1: 10 # Optional INT (10). Sets the maximum total TX power to be used by the UE in this NR cell group across in FR1. Supported: [-30 - +23].
slicing: # Optional TEXT. Configure network slicing options. This can only be set via the configuration file.
- # Configure Slice 1
sst: 1 # Optional UINT (1). Sets the Slice Service Type. Supported: [0 - 255].
sd: 0 # Optional UINT (0). Sets the Service Differentiator. Supported: [0-16777215].
sched_cfg: # Scheduler configuration for the slice
min_prb_policy_ratio: 0 # Optional UINT (0). Sets the minimum percentage of PRBs to be allocated to the slice. Supported [0 - 100].
max_prb_policy_ratio: 100 # Optional UINT (100). Sets the maximum percentage of PRBs to be allocated to the slice. Supported [1 - 100].
mac_cell_group:
bsr_cfg: # Buffer status report configuration parameters
periodic_bsr_timer: 10 # Optional UINT (10). Sets the periodic Buffer Status Report Timer value in nof. subframes. Value 0 equates to infinity. Supported: [1, 5, 10, 16, 20, 32, 40, 64, 80, 128, 160, 320, 640, 1280, 2560, 0].
retx_bsr_timer: 80 # Optional UINT (80). sets the retransmission Buffer Status Report Timer value in nof. subframes. Supported: [10, 20, 40, 80, 160, 320, 640, 1280, 2560, 5120, 10240].
lc_sr_delay_timer: # Optional UINT. Sets the Logical Channel SR delay timer in nof. subframes. Supported: [20, 40, 64, 128, 512, 1024, 2560].
phr_cfg: # Power Headroom report configuration parameters
phr_prohibit_timer: 10 # Optional UINT (10). Sets the PHR prohibit timer in nof. subframes. Supported: [0, 10, 20, 50, 100, 200, 500, 1000].
sr_cfg: # Scheduling Request configuration parameters
sr_trans_max: 64 # Optional UINT (64). Sets the maximum number of SR transmissions. Supported: [4, 8, 16, 32, 64].
sr_prohibit_timer: # Optional TEXT. Sets the timer for SR transmission on PUCCH in ms. Supported: [1, 2, 4, 8, 16, 32, 64, 128].
ssb:
ssb_period: 10 # Optional UINT (10). Sets the period of SSB scheduling in milliseconds. Supported: [5, 10, 20].
ssb_block_power_dbm: -16 # Optional INT (-16). Sets the SS PBCH block power in dBm. Supported: [-60 - +50].
pss_to_sss_epre_db: 0 # Optional UINT (0). Sets the Synchronization Signal Block Primary Synchronization Signal to Secondary Synchronization Signal Energy Per Resource Element ratio in dB. Supported: [0, 3].
sib:
si_window_length: 160 # Optional UINT (160). Sets the length of the SI scheduling window, in slots. It must be always shorter or equal to the period of the SI message. Supported: [5,10,20,40,80,160,320,640,1280].
si_sched_info: # Optional TEXT. Configures the scheduling for each of the SI-messages broadcast by the gNB.
t300: 1000 # Optional UINT (1000). Sets the RRC Connection Establishment timer in ms. The timer starts upon transmission of RRCSetupRequest. Supported: [100,200,300,400,600,1000,1500,2000].
t301: 1000 # Optional UINT (1000). Sets the RRC Connection Re-establishment timer in ms. The timer starts upon transmission of RRCReestablishmentRequest. Supported: [100,200,300,400,600,1000,1500,2000].
t310: 1000 # Optional UINT (1000). Sets the Out-of-sync timer in ms. The timer starts upon detecting physical layer problems for the SpCell i.e. upon receiving N310 consecutive out-of-sync indications from lower layers. Supported: [0,50,100,200,500,1000,2000].
n310: 1 # Optional UINT (1). Sets the Out-of-sync counter. The counter is increased upon reception of "out-of-sync" from lower layer while the timer T310 is stopped. Starts the timer T310, when configured value is reached. Supported: [1,2,3,4,6,8,10,20].
t311: 3000 # Optional UINT (3000). Sets the RRC Connection Re-establishment procedure timer in ms. The timer starts upon initiating the RRC connection re-establishment procedure. Supported: [1000,3000,5000,10000,15000,20000,30000].
n311: 1 # Optional UINT (1). Sets the In-sync counter. The counter is increased upon reception of the "in-sync" from lower layer while the timer T310 is running. Stops the timer T310, when configured value is reached.Supported: [1,2,3,4,5,6,8,10].
t319: 1000 # Optional UINT (1000). Sets the RRC Connection Resume timer in ms. The timer starts upon transmission of RRCResumeRequest or RRCResumeRequest1. Supported: [100,200,300,400,600,1000,1500,2000].
etws:
message_id: 4356 # Optional UINT (4356). Sets the ETWS message ID. Supported: [0 - 65535].
serial_num: 1288 # Optional UINT (1228). Sets the ETWS serial number. Supported: [0 - 65535].
warning_type: 2432 # Optional UINT (2432). Sets the ETWS warning type. Supported: [0 - 65535].
data_coding_scheme: 0 # Optional UINT (0). Sets the ETWS data coding scheme. Supported: [0 - 255].
warning_message: # Optional TEXT. Sets the ETWS warning message. Max length and character support depends on the chosen coding scheme.
cmas:
message_id: 4370 # Optional UINT (4370). Sets the CMAS message ID. Supported: [0 - 65535].
serial_num: 12291 # Optional UINT (12291). Sets the CMAS serial number. Supported: [0 - 65535].
data_coding_scheme: 0 # Optional UINT (0). Sets the CMAS data coding scheme. Supported: [0 - 255].
warning_message: # Optional TEXT. Sets the CMAS warning message. Max length and character support depends on the chosen coding scheme.
ul_common:
p_max: # Optional TEXT. Sets maximum transmit power allowed in this serving cell. Supported: [-30 - +23].
max_pucchs_per_slot: 31 # Optional INT (31). Sets the maximum number of PUCCH grants that can be allocated per slot. Supported: [1 - 64].
max_ul_grants_per_slot: 32 # Optional INT (32). Sets the maximum number of UL grants that can be allocated per slot. Supported: [1 - 80].
pdcch:
common:
coreset0_index: # Optional INT. Sets the CORESET 0 index. Supported: [0 - 15].
ss1_n_candidates: [0, 0, 1, 0, 0] # Optional UINT ([0, 0, 1, 0, 0]). Sets the number of PDCCH candidates per aggregation level for SearchSpace#1. Supported: any 5 value array containing the following UINT values [0, 1, 2, 3, 4, 5, 6, 7, 8].
ss0_index: 0 # Optional UINT (0). Sets the SearchSpace#0 index. Supported: [0 - 15].
max_coreset0_duration: # Optional INT. Sets the maximum CORESET#0 duration in OFDM symbols to consider when deriving CORESET#0 index. Supported: [1 - 2].
dedicated:
coreset1_rb_start: 1 # Optional INT. Sets the starting common resource block (CRB) number for CORESET 1, relative to CRB0. Supported: [0 - 275].
coreset1_l_crb: # Optional INT (Across entire BW of cell). Sets the length of CORESET 1 in number of CRBs. Supported: [0 - 275].
coreset1_duration: # Optional INT (Max(2, Nof. CORESET#0 symbols)). Sets the duration of CORESET 1 in number of OFDM symbols. Supported: [1 - 2].
ss2_n_candidates: [0, 0, 0, 0, 0] # Optional UINT ([0, 0, 0, 0, 0]). Sets the number of PDCCH candidates per aggregation level for SearchSpace#2. An all-zero array lets the gNB decide nof. candidates for SS#2. Supported: any 5 value array containing the following UINT values [0, 1, 2, 3, 4, 5, 6, 7, 8].
dci_format_0_1_and_1_1: true # Optional BOOLEAN (true). Sets whether to use non-fallback or fallback DCI format in UE SearchSpace#2. Supported: [false, true].
ss2_type: ue_dedicated # Optional TEXT (ue_dedicated). Sets the SearchSpace type for UE dedicated SearchSpace#2. Supported: [common, ue_dedicated].
al_cqi_offset: 0 # Optional FLOAT (0). Offset to apply to the CQI value used in the PDCCH aggregation level calculation. Format: [-15 - 15]
pdsch:
min_ue_mcs: 0 # Optional UINT (0). Sets a minimum PDSCH MCS value to be used for all UEs. Supported: [0 - 28].
max_ue_mcs: 28 # Optional UINT (28). Sets a maximum PDSCH MCS value to be used for all UEs. Supported: [0 - 28].
fixed_rar_mcs: 0 # Optional UINT (0). Sets a fixed RAR MCS value for all UEs. Supported: [0 - 28].
fixed_sib1_mcs: 5 # Optional UINT (5). Sets a fixed SIB1 MCS for all UEs. Supported: [0 - 28].
nof_harqs: 16 # Optional UINT (16). Sets the number of Downlink HARQ processes. Supported [2, 4, 6, 8, 10, 12, 16].
max_nof_harq_retxs: 4 # Optional UINT (4). Sets the maximum number times a DL HARQ can be retransmitted before it is discarded. Supported: [0 - 4].
harq_retx_timeout: 100 # Optional UINT (100). Maximum time, in milliseconds, between a HARQ NACK and the scheduler allocating the respective HARQ for retransmission. If this timeout is exceeded, the HARQ process is discarded. Format: [10 - 500]
max_consecutive_kos: 100 # Optional UINT (100). Sets the maximum number of consecutive HARQ-ACK KOs before an RLF is reported. Supported: [0 - inf].
rv_sequence: [0,2,3,1] # Optional UINT (0,2,3,1). Sets the redundancy version sequence to use for PDSCH. Supported: any combination of [0, 1, 2, 3].
mcs_table: qam64 # Optional TEXT (qam64). Sets the MCS table to use for PDSCH. Supported: [qam64, qam256].
min_rb_size: 1 # Optional UINT (1). Sets the minimum RB size for the UE PDSCH resource allocation. Supported: [1 - 275].
max_rb_size: 275 # Optional UINT (275). Sets the maximum RB size for the UE PDSCH resource allocation. Supported: [1 - 275].
start_rb: 0 # Optional UINT (0). Sets the start RB for resource allocation of UE PDSCHs. Supported [0 - 275].
end_rb: 275 # Optional UINT (275). Sets the end RB for resource allocation of UE PDSCHs. Supported [0 - 275].
max_pdschs_per_slot: 35 # Optional UINT (35). Sets the maximum number of PDSCH grants per slot, including SIB, RAR, Paging and UE data grants. Supported: [1 - 35].
max_alloc_attempts: 35 # Optional UINT (35). Sets the maximum number of DL or UL PDCCH grant allocation attempts per slot before scheduler skips the slot. Supported: [1 - 35].
nof_preselected_newtx_ues: 32 # Optional UINT (32). Number of UEs pre-selected for a potential DL newTx allocation in a slot. Format: [1 - 1024]
newtx_ues_selection_period: 3 # Optional UINT (3). Number of slots between each computation of newTx UE candidates for potential allocation in a slot. Format: [1 - 1024]
olla_cqi_inc_step: 0.001 # Optional FLOAT (0.001). Sets the outer-loop link adaptation (OLLA) increment value. The value 0 means that OLLA is disabled. Supported: [0 - 1].
olla_target_bler: 0.01 # Optional FLOAT (0.01). Sets the target DL BLER set in Outer-loop link adaptation (OLLA) algorithm. Supported: [0 - 0.5].
olla_max_cqi_offset: 4 # Optional FLOAT (4). Sets the maximum offset that the Outer-loop link adaptation (OLLA) can apply to CQI. Supported: positive float.
dc_offset: # Optional TEXT. Sets the direct Current (DC) Offset in number of subcarriers, using the common SCS as reference for carrier spacing, and the center of the gNB DL carrier as DC offset value 0. The user can additionally
# set "outside" to define that the DC offset falls outside the DL carrier or "undetermined" in the case the DC offset is unknown. Supported: [-1650 - 1649] OR [outside,undetermined,center].
harq_la_cqi_drop_threshold: 3 # Optional UINT (3). Sets the link Adaptation (LA) threshold for drop in CQI of the first HARQ transmission above which HARQ retransmissions are cancelled. Set this value to 0 to disable this feature. Supported: [0 - 15].
harq_la_ri_drop_threshold: 1 # Optional UINT (1). Sets the link Adaptation (LA) threshold for drop in nof. layers of the first HARQ transmission above which HARQ retransmission is cancelled. Set this value to 0 to disable this feature. Supported: [0 - 4].
dmrs_additional_position: 2 # Optional UINT (2). Sets the PDSCH DMRS additional position. Supported: [0 - 3].
interleaving_bundle_size: # Optional ENUM. PDSCH interleaving bundle size. Supporte
pusch:
min_ue_mcs: 0 # Optional UINT (0). Sets a minimum PUSCH MCS value to be used for all UEs. Supported: [0 - 28].
max_ue_mcs: 28 # Optional UINT (28). Sets a maximum PUSCH MCS value to be used for all UEs. Supported: [0 - 28].
max_nof_harq_retxs: 4 # Optional UINT (4). Maximum number of times a UL HARQ can be retransmitted, before it gets discarded. Format: [0 - 64]
harq_retx_timeout: 100 # Optional UINT (100). Maximum time, in milliseconds, between a CRC=KO and the scheduler allocating the respective HARQ for retransmission. If this timeout is exceeded, the HARQ process is discarded. Format: [10 - 500]
max_consecutive_kos: 100 # Optional UINT (100). Sets the maximum number of consecutive CRC KOs before an RLF is reported. Supported: [0 - inf].
rv_sequence: [0] # Optional UINT (0). Sets the redundancy version sequence to use for PUSCH. Supported: any combination of [0, 1, 2, 3].
mcs_table: qam64 # Optional TEXT (qam64). Sets the MCS table to use for PUSCH. Supported: [qam64, qam256].
max_rank: 4 # Optional UINT (4). Sets the maximum number of PUSCH transmission layers. The actual maximum is limited by the number of receive ports and UE capabilities. Supported: [0 - 4].
msg3_delta_preamble: 6 # Optional INT (6). Sets the MSG3 DeltaPreamble power offset between MS3 and RACH preamble transmission. Supported: [-1 - 6].
p0_nominal_with_grant: -76 # Optional INT (-76). Sets the P0 value for PUSCH grant (except MSG3), in dBm. Supported: multiples of 2 within the range [-202, 24].
msg3_delta_power: 8 # Optional INT (8). Sets the target power level at the network receiver side, in dBm. Supported: multiples of 2 within the range [-6, 8].
max_puschs_per_slot: 16 # Optional UINT (16). Sets the maximum number of PUSCH grants per slot. Supprted: [1 - 16].
nof_preselected_newtx_ues: 32 # Optional UINT (32). Number of UEs pre-selected for a potential UL newTx allocation in a slot. Format: [1 - 1024]
newtx_ues_selection_period: 1 # Optional UINT (1). Number of slots between each computation of newTx UE candidates for potential allocation in a slot. Format: [1 - 1024]
beta_offset_ack_idx_1: 9 # Optional UINT (9). Sets the betaOffsetACK-Index1 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_ack_idx_2: 9 # Optional UINT (9). Sets the betaOffsetACK-Index2 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_ack_idx_3: 9 # Optional UINT (9). Sets the betaOffsetACK-Index3 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_csi_p1_idx_1: 9 # Optional UINT (9). Sets the b_offset_csi_p1_idx_1 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_csi_p1_idx_2: 9 # Optional UINT (9). Sets the b_offset_csi_p1_idx_2 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_csi_p2_idx_1: 9 # Optional UINT (9). Sets the b_offset_csi_p2_idx_1 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_csi_p2_idx_2: 9 # Optional UINT (9). Sets the b_offset_csi_p2_idx_2 part of UCI-OnPUSCH. Supported: [0 - 31].
min_k2: 4 # Optional UINT (4). Sets the minimum value of K2 (difference in slots between PDCCH and PUSCH). Supported: [1 - 4].
dc_offset: # Optional TEXT. Sets the direct Current (DC) Offset in number of subcarriers, using the common SCS as reference for carrier spacing, and the center of the gNB UL carrier as DC offset value 0. The user can additionally
# set "outside" to define that the DC offset falls outside the DL carrier or "undetermined" in the case the DC offset is unknown. Supported: [-1650 - 1649] OR [outside,undetermined,center].
olla_snr_inc_step: 0.001 # Optional FLOAT (0.001). Sets the outer-loop link adaptation (OLLA) increment value. The value 0 means that OLLA is disabled. Supported: [0 - 1].
olla_target_bler: 0.01 # Optional FLOAT (0.01). Sets the target UL BLER set in Outer-loop link adaptation (OLLA) algorithm. sUPPORTED: [0 - 0.5].
olla_max_snr_offset: 5 # Optional FLOAT (5). Sets the maximum offset that the Outer-loop link adaptation (OLLA) can apply to estimate the UL SNR. Supported: positive float.
dmrs_additional_position: 2 # Optional UINT (2). Sets the PUSCH DMRS additional position. Supported: [0 - 3].
min_rb_size: 1 # Optional UINT (1). Sets the minimum RB size for the UE PUSCH resource allocation. Supported: [1 - 275].
max_rb_size: 275 # Optional UINT (275). Sets the maximum RB size for the UE PUSCH resource allocation. Supported: [1 - 275].
start_rb: 0 # Optional UINT (0). Sets the start RB for resource allocation of UE PUSCHs. Supported: [0 - 275].
end_rb: 275 # Optional UINT (275). Sets the end RB for resource allocation of UE PUSCHs. Supported: [0 - 275].
enable_cl_loop_pw_control: false # Optional BOOLEAN (false). Enables the closed-loop power control for PUSCH. Supported: [false, true].
enable_phr_bw_adaptation: false # Optional BOOLEAN (false). Enable bandwidth adaptation to prevent negative PHR. Supported: [false, true]
target_sinr: 10 # Optional FLOAT (10). Sets the target SINR in dB. Supported: [-5 - 30].
ref_path_loss: 70 # Optional FLOAT (70). Sets the reference path-loss for target PUSCH SINR in dB. Supported: [50 - 120].
pl_compensation_factor: 1 # Optional FLOAT (1). Sets the fractional path-loss compensation factor in PUSCH power control. Supported: [0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1].
enable_transform_precoding: false # Optional BOOLEAN (false). Enables transform precoding for PUSCH. Supported: [false, true]
pucch:
p0_nominal: -90 # Optional UINT (-90). Sets the power control parameter P0 for PUCCH transmissions in dBm. Supported: multiples of 2 and within the [-202, 24] interval.
pucch_resource_common: 11 # Optional UINT (11). Index of PUCCH resource set for the common configuration. Supported: [0 - 15].
sr_period_ms: 20 # Optional UINT (20). Sets the SR period in milliseconds. Supported: [1,2,4,8,10,16,20,40,80,160,320].
use_format_0: false # Optional BOOLEAN (false). Enables the use of Format 0 for PUCCH resources from resource set 0. Supported: [false, true].
pucch_set1_format: 2 # Optional UINT (2). Sets the PUCCH format for PUCCH resource set 1. Supported: [2, 3, 4].
nof_ue_res_harq_per_set: 8 # Optional UINT (8). Sets the number of PUCCH resources available per UE for HARQ for each PUCCH resource set. Supported: [1 - 8].
f0_or_f1_nof_cell_res_sr: 8 # Optional UINT (8). Sets the number of PUCCH F0 or F1 resources available per cell for SR. Supported: [1 - 50].
f0_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F0. Supported: [false, true].
f1_enable_occ: false # Optional BOOLEAN (false). Enables OCC for PUCCH F1. Supported: [false, true].
f1_nof_cyclic_shifts: 2 # Optional UINT (2). Sets the number of possible cyclic shifts available for PUCCH F1 resources. Supported: [1,2,3,4,6,12].
f1_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F1. Supported: [false, true].
nof_cell_harq_pucch_res_sets: 2 # Optional UINT (2). Sets the number of separate PUCCH resource sets for HARQ-ACK that are available in the cell. The higher the number of sets, the lower the chances UEs have to share the same PUCCH resources. Supported: [1 - 10].
f2_or_f3_or_f4_nof_cell_res_csi: 8 # Optional UINT (8). Sets the number of PUCCH F2, F3 or F4 resources available per cell for CSI. Supported: [0 - 100].
f2_max_nof_rbs: 1 # Optional UINT (1). Sets the max number of RBs for PUCCH F2 resources. Supported: [1 - 16].
f2_max_payload: # Optional INT. Sets the max number of payload bits for PUCCH F2 resources. Supported [1 - 11].
f2_max_code_rate: dot35 # Optional TEXT (dot35). Sets the PUCCH F2 max code rate. Supported: [dot08, dot15, dot25, dot35, dot45, dot60, dot80].
f2_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F2. Supported: [false, true].
f3_max_nof_rbs: 1 # Optional UINT (1). Sets the max number of RBs for PUCCH F3 resources. Supported: [1 - 16].
f3_max_payload: # Optional INT. Sets the max number of payload bits for PUCCH F3 resources. Supported [1 - 11].
f3_max_code_rate: dot35 # Optional TEXT (dot35). Sets the PUCCH F3 max code rate. Supported: [dot08, dot15, dot25, dot35, dot45, dot60, dot80].
f3_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F3. Supported: [false, true]
f3_additional_dmrs: false # Optional BOOLEAN (false). Enables additional DMRS for PUCCH F3. Supported: [false, true].
f3_pi2_bpsk: false # Optional BOOLEAN (false). Enables pi/2 BPSK for PUCCH F3. Supported: [false, true].
f4_max_code_rate: dot35 # Optional TEXT (dot35). Sets the PUCCH F4 max code rate. Supported: [dot08, dot15, dot25, dot35, dot45, dot60, dot80].
f4_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F4. Supported: [false, true].
f4_additional_dmrs: false # Optional BOOLEAN (false). Enables additional DMRS for PUCCH F4. Supported: [false, true].
f4_pi2_bpsk: false # Optional BOOLEAN (false). Enables pi/2 BPSK for PUCCH F4. Supported: [false, true].
f4_occ_length: 2 # Optional UINT (2). Sets the OCC length for PUCCH F4. Supported: [1 - 4].
min_k1: 4 # Optional UINT (4). Sets the minimum value of K1 (difference in slots between PDSCH and HARQ-ACK). Lower k1 values will reduce latency, but place a stricter requirement on the UE decode latency. Supported: [1 - 4].
max_consecutive_kos: 100 # Optional UINT (100). Sets the maximum number of consecutive undecoded PUCCH F2 for CSI before an Radio Link Failure is reported.
enable_cl_loop_pw_control: false # Optional BOOLEAN (false). Enables the closed-loop power control for PUCCH. Supported: [false, true].
target_sinr_f0: 10 # Optional FLOAT (10). Sets the target SINR for PUCCH F0 in dB. Supported: [-10 - 20].
target_sinr_f2: 6 # Optional FLOAT (6). Sets the target SINR for PUCCH F2 in dB. Supported: [-10 - 20].
target_sinr_f3: 1 # Optional FLOAT (1). Sets the target SINR for PUCCH F3 in dB. Supported: [-15 - 10].
srs:
period_ms: # Optional FLOAT. Sets the periodic SRS period in ms. The SRS period needs to be compatible with the subcarrier spacing. Supported: {1,2,2.5,4,5,8,10,16,20,32,40,64,80,160,320,640,1280,2560}.
max_nof_sym_per_slot: 2 # Optional UINT (2). Sets the number of symbols for UL slot that are reserved for the SRS cell resources. Supprted: [1 - 6].
nof_sym_per_resource: 1 # Optional UINT (2). Sets the number of symbols per SRS resource. Supported: {1,2,4}.
c_srs: 0 # Optional UINT (0). If set, indicates the C_SRS parameter for SRS. Supported [0, 63].
freq_domain_shift: 0 # Optional UINT (0). Sets the SRS frequency domain shift. Supported [0, 268].
tx_comb: 4 # Optional UINT (4). Sets the SRS TX comb size. Supported: {2, 4}.
cyclic_shift_reuse: 1 # Optional UINT (1). Sets the SRS cyclic shift reuse factor. It needs to be compatible with the TX comb and number of UL antenna ports. Supported: {1,2,3,4,6}.
sequence_id_reuse: 1 # Optional UINT (1). Sets the reuse factor for the SRS sequence ID. Supported: {1,2,3,5,6,10,15,30}.
prach:
prach_config_index: # Optional UINT. Sets the PRACH configuration index. If not set, the value is derived, so that the PRACH fits in an UL slot. Supported: [0 - 255].
prach_root_sequence_index: 1 # Optional UINT (1). Sets the PRACH Roost Sequence Index (RSI), which determines the Zadoff-Chu (ZC) sequence used. Supported: [0 - 837]. If the PRACH configuration index is larger than 86, you cannot set a PRACH RSI of more than 137.
zero_correlation_zone: 0 # Optional UINT (0). Sets the Zero Correlation Zone, which determines the size of the cyclic shift and the number of preamble sequences which can be generated from each Root Sequence Index. Supported: [0 - 15].
fixed_msg3_mcs: 0 # Optional UINT (0). Sets a fixed Msg3 MCS. Supported: [0 - 28].
max_msg3_harq_retx: 4 # Optional UINT (4). Sets the maximum number of Msg3 HARQ retransmissions. Supported: [0 - 4].
total_nof_ra_preambles: # Optional TEXT. Sets the number of different PRACH preambles. Supported: [1 - 64].
cfra_enabled: false # Optional BOOLEAN (false). Enables Contention Free Random Access (CFRA). If enabled, total_nof_ra_preambles must be lower than 64. Supported: [false, true].
prach_frequency_start: # Optional INT. Set Offset of lowest PRACH transmission occasion in frequency domain respective to PRB 0, in PRBs. Supported: [0 - (MAX_NOF_PRB - 1)].
preamble_rx_target_pw: -100 # Optional INT (-100). Sets the Target power level at the network receiver side, in dBm. Supported: multiples of 2 within range [-202, -60].
preamble_trans_max: 7 # Optional UINT (7). Sets the max number of RA preamble transmissions performed before declaring a failure. Supported: [3, 4, 5, 6, 7, 8, 10, 20, 50, 100, 200].
power_ramping_step_db: 4 # Optional UINT (4). Sets the power ramping steps for PRACH. Supported: [0, 2, 4 , 6].
ports: 0 # Optional UINT (0). Sets the list of atenna ports. Expected value is a UINT string of antenna port IDs.
nof_ssb_per_ro: 1 # Optional FLOAT (1). Sets the number of SSBs per RACH occasion. Supported: [1/8, 1/4, 1/2, 1, 2, 4, 8, 16].
nof_cb_preambles_per_ssb: 4 # Optional UINT (4). Sets the number of contention based preambles per SSB. Supported: [1 - 64].
ra_resp_window: # Optional UINT. Sets the RA-response window length in number of slots. Supported: {1, 2, 4, 8, 10, 20, 40, 80}.
tdd_ul_dl_cfg:
dl_ul_tx_period: 10 # Optional INT (10). Sets the TDD pattern periodicity in slots. The combination of this value and the chosen numerology must lead to a TDD periodicity of 0.5, 0.625, 1, 1.25, 2, 2.5, 3, 4, 5 or 10 milliseconds. Supported: [2 - 80].
nof_dl_slots: 6 # Optional INT (6). Number of consecutive full Downlink slots. Supported: [0-80].
nof_dl_symbols: 8 # Optional INT (8). Number of Downlink symbols at the beginning of the slot following full Downlink slots. Supported: [0-13].
nof_ul_slots: 3 # Optional INT (3). Number of consecutive full Uplink slots. Supported: [0 - 80].
nof_ul_symbols: 0 # Optional INT (0). Number of Uplink symbols at the end of the slot preceding the first full Uplink slot. Supported: [0-13].
pattern2:
dl_ul_tx_period: 10 # Optional INT (10). Sets the TDD pattern periodicity in slots. The combination of this value and the chosen numerology must lead to a TDD periodicity of 0.5, 0.625, 1, 1.25, 2, 2.5, 3, 4, 5 or 10 milliseconds. Supported: [2 - 80].
nof_dl_slots: 6 # Optional INT (6). Number of consecutive full Downlink slots. Supported: [0-80].
nof_dl_symbols: 8 # Optional INT (8). Number of Downlink symbols at the beginning of the slot following full Downlink slots. Supported: [0-13]
nof_ul_slots: 3 # Optional INT (3). Number of consecutive full Uplink slots. Supported: [0 - 80].
nof_ul_symbols: 0 # Optional INT (0). Number of Uplink symbols at the end of the slot preceding the first full Uplink slot. Supported: [0-13].
paging:
pg_search_space_id: 1 # Optional UINT (1). Sets the SearchSpace to use for Paging. Supported: [false, true].
default_pg_cycle_in_rf: 128 # Optional UINT (128). Sets the default Paging cycle in nof. Radio Frames. Supported: [32,64,128,256].
nof_pf_per_paging_cycle: oneT # Optional TEXT (oneT). Sets the number of paging frames per DRX cycle. Supported: [oneT, halfT, quarterT, oneEighthT, oneSixteethT].
pf_offset: 0 # Optional UINT (0). Sets the paging frame offset. Supported: [0 - (nof_pf_per_paging_cycle - 1)].
nof_po_per_pf: 1 # Optional UINT (1). Sets the number of paging occasions per paging frame. Supported: [1, 2, 4].
csi:
csi_rs_enabled: true # Optional BOOLEAN (true). Enables CSI-RS resources and CSI reporting. Supported: [false, true].
csi_rs_period: 20 # Optional UINT (20). Sets the CSI-RS period in milliseconds. Supported: [10, 20, 40, 80].
meas_csi_rs_slot_offset: # Optional UINT Sets the slot offset of first CSI-RS resource used for measurement.
tracking_csi_rs_slot_offset: # Optional UINT. Sets the slot offset of the first CSI-RS resource used for tracking.
zp_csi_rs_slot_offset: # Optional UINT. Sets the slot offset of the ZP CSI-RS resources.
pwr_ctrl_offset: 0 # Optional INT (0). Sets the power offset of PDSCH RE to NZP CSI-RS RE in dB. Supported: [-8 - 15].
sched_expert_cfg:
policy_sched_cfg:
qos_sched:
qos_weight_function: gbr_prioritized # Optional TEXT (gbr_prioritized). Sets the QoS weight function to use in the QoS scheduler. Supported: [gbr_prioritized, multivariate].
pf_fairness_coeff: 2 # Optional FLOAT [2]. Sets the fairness Coefficient to use in Proportional Fair policy scheduler.
prio_enabled: true # Optional BOOLEAN (true). Sets whether or not to take into account the QoS Flow priority in QoS-aware scheduling. Supported: [false, true].
pdb_enabled: true # Optional BOOLEAN (true). Sets whether or not to take into account the Packet Delay Budget (PDB) in QoS-aware scheduling. Supported: [false, true].
gbr_enabled: true # Optional BOOLEAN (true). Sets whether or not to take into account the Guaranteed Bit Rate (GBR) in QoS-aware scheduling. Supported: [false, true].
ta_sched_cfg:
ta_measurement_slot_period: 80 # Optional UINT (80). Sets the measurements periodicity in nof. slots over which the new Timing Advance Command is computed.
ta_measurement_slot_prohibit_period: 0 # Optional UINT (0). Sets the delay in number of slots between issuing the TA_CMD and starting TA measurements. Supported: [0 - 10000].
ta_cmd_offset_threshold: 1 # Optional INT (1). Sets the timing Advance Command (T_A) offset threshold above which Timing Advance Command is triggered. If set to less than zero, issuing of TA Command is disabled. Supported: [-1 - 31].
ta_target: 1 # Optional INT (1). Sets the timing advance target in units of TA. Supported: [-30 - 30].
ta_update_measurement_ul_sinr_threshold: 0 # Optional FLOAT (0). Sets the UL SINR threshold (in dB) above which reported N_TA update measurement is considered valid.
drx:
on_duration_timer: 10 # Optional UINT (10). Minimum duration in milliseconds that the UE stays in active mode, when DRX is configured. Supported: {1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200,300,400,500,600,800,1000,1200,1600}
inactivity_timer: 0 # Optional UINT (0). Duration in milliseconds that the UE stays active after PDCCH reception, when DRX is configured. Supported: {0,1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200,300,500,750,1280,1920,2560}
retx_timer_dl: 0 # Optional UINT (0). Maximum duration in slots until a DL ReTX is received by the UE, when DRX is configured. Supported: {0,1,2,4,6,8,16,24,33,40,64,80,96,112,128,160,320}
retx_timer_ul: 0 # Optional UINT (0). Maximum duration in slots until a grant for UL ReTX is received by the UE, when DRX is configured. Supported: {0,1,2,4,6,8,16,24,33,40,64,80,96,112,128,160,320}
long_cycle: 0 # Optional UINT (0). Duration in milliseconds between UE DRX long cycles. The value 0 is used to disable DRX. Supported: {10,20,32,40,60,64,70,80,128,160,256,320,512,640,1024,1280,2048,2560,5120,10240} OR {0}
e2:
enable_cu_cp_e2: false # Optional BOOLEAN (false). Enables the CU E2 agent for CU-CP. Supported: [false, true].
enable_cu_up_e2: false # Optional BOOLEAN (false). Enables the CU E2 agent for CU-UP. Supported: [false, true].
enable_du_e2: false # Optional BOOLEAN (false). Enables the DU E2 agent. Supported: [false, true].
addr: 127.0.0.1 # Optional TEXT (127.0.0.1). Sets the RIC IP address.
port: 36421 # Optional UINT (36421). Sets the RIC Port. Supported: [20000 - 40000].
bind_addr: 127.0.0.1 # Optional TEXT (127.0.0.1). Sets the local IP address to bind for RIC connection. Supported: IPv4 address.
sctp_rto_initial: 120 # Optional INT (120). Sets the initial retransmission timeout when creating the SCTP connection.
sctp_rto_min: 150 # Optional INT (150). Sets the minimum retransmission timeout for the SCTP connection.
sctp_rto_max: 500 # Optional INT (500). Sets the maximum retransmission timeout for the SCTP connection.
sctp_init_max_attempts: 3 # Optional INT (3). Sets the maximum retransmission attempts for the initial SCTP connection.
sctp_max_init_timeo: 500 # Optional INT (500). Sets the maximum retransmission timeout for the initial SCTP connection.
e2sm_kpm_enabled: false # Optional BOOLEAN (false). Enabled the E2SM KPM service module. Supported: [false, true].
e2sm_rc_enabled: false # Optional BOOLEAN (false). Enabled the E2SM RC service module. Supported: [false, true].
ntn:
cell_specific_koffset: 0 # Optional INT (0). Sets the cell-specific k-offset to be used for NTN. Supported: [0 - 1023].
ntn_ul_sync_validity_dur: 5 # Optional INT. Sets the NTN UL sync validity duration in milliseconds. Supported: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 120, 180, 240, 900].
epoch_time:
sfn: 0 # Optional INT (0). Sets the SFN part. Supported: [0 - 1023].
subframe_number: 0 # Optional INT (0). Sets the sub-frame number part. Supported: [0 - 9].
ta_info:
ta_common: 0 # Optional INT (0). Sets the common Timing Advance value. Supported: [0 - 66485757].
ta_common_drift: 0 # Optional INT (0). Sets the common Timing Advance drift value. Supported: [-257303 - 257303].
ta_common_drift_variant: 0 # Optional INT (0). Sets the common Timing Advance drift variant value. Supported: [0 - 28949].
ephemeris_info_ecef:
pos_x: 0 # Optional INT (0). Sets the X position of the satellite. Supported: [-67108864 - 67108863].
pos_y: 0 # Optional INT (0). Sets the Y position of the satellite. Supported: [-67108864 - 67108863].
pos_z: 0 # Optional INT (0). Sets the Z position of the satellite. Supported: [-67108864 - 67108863].
vel_x: 0 # Optional INT (0). Sets the X velocity of the satellite. Supported: [-32768 - 32767].
vel_y: 0 # Optional INT (0). Sets the Y velocity of the satellite. Supported: [-32768 - 32767].
vel_z: 0 # Optional INT (0). Sets the Z velocity of the satellite. Supported: [-32768 - 32767].
ephemeris_orbital:
semi_major_axis: 0 # Optional FLOAT (0). Sets the semi-major axis of the satellite. Supported: [0 - 1000000000].
eccentricity: 0 # Optional FLOAT (0). Sets the eccentricity of the satellite.
periapsis: 0 # Optional FLOAT (0). Sets the periapsis of the satellite.
longitude: 0 # Optional FLOAT (0). Sets the longitude of the satellites angle of ascending node.
inclination: 0 # Optional FLOAT (0). Sets the inclination of the satellite.
mean_anomaly: 0 # Optional FLOAT (0). Sets the mean anomaly of the satellite.
ru_ofh:
# Many of the following values are optional as they have default values. In practice, all of the following parameters should be defined by the user, as they will need
# to be configured specifically for the RU being used. Failing to configure this parameters correctly may result in the RU failing to connect correctly to the DU.
gps_alpha: 0 # Optional FLOAT (0). Sets the GPS alpha. Supported: [0 - 1.2288e+07].
gps_beta: 0 # Optional INT (0). Sets the GPS beta. Supported: [-32768 - +32767].
ru_bandwidth_MHz: <cell bandwidth> # Optional UINT (<cell bandwidth>). Sets the channel bandwidth in MHz. Supported: [5,10,15,20,25,30,40,50,60,70,80,90,100].
t1a_max_cp_dl: 500 # Optional INT (500). Sets T1a maximum value for downlink control-plane. Supported: [0 - 1960].
t1a_min_cp_dl: 258 # Optional INT (258). Sets T1a minimum value for downlink control-plane. Supported: [0 - 1960].
t1a_max_cp_ul: 500 # Optional INT (500). Sets T1a maximum value for uplink control-plane. Supported: [0 - 1960].
t1a_min_cp_ul: 258 # Optional INT (258). Sets T1a minimum value for uplink control-plane. Supported: [0 - 1960].
t1a_max_up: 300 # Optional INT (300).Sets T1a maximum value for user-plane. Supported: [0 - 1960].
t1a_min_up: 85 # Optional INT (85). Sets T1a minimum value for user-plane. Supported: [0 - 1960].
ta4_max: 500 # Optional UINT (500). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
ta4_min: 85 # Optional UINT (85). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
is_prach_cp_enabled: true # Optional BOOLEAN (true). Sets PRACH control-plane enabled flag. Supported: [false, true].
ignore_ecpri_seq_id: false # Optional BOOLEAN (false). Sets whether or not to ignore eCPRI sequence ID field value. Supported [false, true].
ignore_ecpri_payload_size: false # Optional BOOLEAN (false). Sets whether or not to ignore eCPRI payload size field value. Supported [false, true].
ignore_prach_start_symbol: false # Optional BOOLEAN (false). Sets whether or not to ignore PRACH start symbol in PRACH U-Plane Packets. Supported [false, true].
log_lates_as_warnings: true # Optional BOOLEAN (true). Sets the log late events as warnings.
warn_unreceived_ru_frames: after_traffic_detection # Optional TEXT (after_traffic_detection). Sets whether or not to send a warning when there are unreceived Radio Unit frames. Supported: [never, always, after_traffic_detection].
compr_method_ul: bfp # Optional TEXT (bfp). Sets the uplink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_ul: 9 # Optional UINT (9). Sets the uplink compression bit width. Supported: [1 - 16].
compr_method_dl: bfp # Optional TEXT (bfp). Sets the downlink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_dl: 9 # Optional UINT (9). Sets the downlink compression bit width. Supported: [1 - 16].
compr_method_prach: bfp # Optional TEXT (bfp). Sets the PRACH compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_prach: 9 # Optional UINT (9). Sets the PRACH compression bit width. Supported [1 - 16].
enable_ul_static_compr_hdr: true # Optional BOOLEAN (true). Uplink static compression header enabled flag. Supported: [false, true].
enable_dl_static_compr_hdr: true # Optional BOOLEAN (true). Downlink static compression header enabled flag. Supported: [false, true].
ru_reference_level_dBFS: -12 # Optional FLOAT (-12). RU IQ reference level mapped to the maximum RF power. Supported: (-inf - 0]
subcarrier_rms_backoff_dB: 0 # Optional FLOAT (0). Power back-off attenuation applied to all subcarriers with respect to the RU reference level. Supported: [0, inf)
iq_scaling: 0.1 # Optional FLOAT (0.1). Sets the IQ scaling factor. This is an alternative to ru_reference_level_dBFS. Supported: [0 - 100].
cplane_prach_fft_len: 4096 # Optional UINT (4096). PRACH FFT length (used in C-Plane Type-3 messages). Supported: [128, 256, 512, 1024, 1536, 2048, 3072, 4096].
cells: # Optional TEXT. Sets the hardware specific cell configuration on a per cell basis.
- # Cell 1 - set custom configuration for each cell
network_interface: enp1s0f0 # Optional TEXT (enp1s0f0). Sets the ethernet network interface name for the RU or PCIe identifier when using DPDK. Format: a string, e.g. [interface_name].
enable_promiscuous: false # Optional BOOLEAN (false). Enables promiscuous mode flag.
check_link_status: false # Optional BOOLEAN (false). Ethernet link status checking flag.
mtu: 9000 # Optional UINT (9000). NIC interface MTU size. Supported: [1500 - 9600].
ru_mac_address: 70:b3:d5:e1:5b:06 # Optional TEXT (70:b3:d5:e1:5b:06). Sets the RU MAC address. Format: a string, e.g. [AA:BB:CC:DD:11:22:33].
du_mac_address: 00:11:22:33:00:77 # Optional TEXT (00:11:22:33:00:77). Sets the DU MAC address. Format: a string, e.g. [AA:BB:CC:DD:11:22:33].
vlan_tag_cp: 1 # Optional UINT (1). Sets the VLAN tag value for C-Plane. Outgoing Ethernet packets will not include a VLAN tag if the vlan_tag_cp and vlan_tag_up parameters are not set. Supported: [1 - 4094].
vlan_tag_up: 1 # Optional UINT (1). Sets the VLAN tag value for U-Plane. Outgoing Ethernet packets will not include a VLAN tag if the vlan_tag_cp and vlan_tag_up parameters are not set. Supported: [1 - 4094].
prach_port_id: [4] # Optional UINT (4). Sets the RU PRACH eAxC port ID. Supported: [0 - 65535].
dl_port_id: [0] # Optional UINT (0). Sets the RU downlink eAxC port ID. Format: vector containing all DL eAxC ports, e.g. [0, ...\ , N].
ul_port_id: [0] # Optional UINT (0). Sets the RU uplink eAxC port ID. Supported: [0 - 65535].
ru_bandwidth_MHz: <cell bandwidth> # Optional UINT (<cell bandwidth>). Sets the channel bandwidth in MHz. Supported: [5,10,15,20,25,30,40,50,60,70,80,90,100].
t1a_max_cp_dl: 500 # Optional INT (500). Sets T1a maximum value for downlink control-plane. Supported: [0 - 1960].
t1a_min_cp_dl: 258 # Optional INT (258). Sets T1a minimum value for downlink control-plane. Supported: [0 - 1960].
t1a_max_cp_ul: 500 # Optional INT (500). Sets T1a maximum value for uplink control-plane. Supported: [0 - 1960].
t1a_min_cp_ul: 258 # Optional INT (258). Sets T1a minimum value for uplink control-plane. Supported: [0 - 1960].
t1a_max_up: 300 # Optional INT (300).Sets T1a maximum value for user-plane. Supported: [0 - 1960].
t1a_min_up: 85 # Optional INT (85). Sets T1a minimum value for user-plane. Supported: [0 - 1960].
ta4_max: 500 # Optional UINT (500). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
ta4_min: 85 # Optional UINT (85). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
is_prach_cp_enabled: true # Optional BOOLEAN (true). Sets PRACH control-plane enabled flag. Supported: [false, true].
ignore_ecpri_seq_id: false # Optional BOOLEAN (false). Sets whether or not to ignore eCPRI sequence ID field value. Supported [false, true].
ignore_ecpri_payload_size: false # Optional BOOLEAN (false). Sets whether or not to ignore eCPRI payload size field value. Supported [false, true].
ignore_prach_start_symbol: false # Optional BOOLEAN (false). Sets whether or not to ignore PRACH start symbol in PRACH U-Plane Packets. Supported [false, true].
log_lates_as_warnings: true # Optional BOOLEAN (true). Sets the log late events as warnings.
warn_unreceived_ru_frames: after_traffic_detection # Optional TEXT (after_traffic_detection). Sets whether or not to send a warning when there are unreceived Radio Unit frames. Supported: [never, always, after_traffic_detection].
compr_method_ul: bfp # Optional TEXT (bfp). Sets the uplink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_ul: 9 # Optional UINT (9). Sets the uplink compression bit width. Supported: [1 - 16].
compr_method_dl: bfp # Optional TEXT (bfp). Sets the downlink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_dl: 9 # Optional UINT (9). Sets the downlink compression bit width. Supported: [1 - 16].
compr_method_prach: bfp # Optional TEXT (bfp). Sets the PRACH compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_prach: 9 # Optional UINT (9). Sets the PRACH compression bit width. Supported [1 - 16].
enable_ul_static_compr_hdr: true # Optional BOOLEAN (true). Uplink static compression header enabled flag. Supported: [false, true].
enable_dl_static_compr_hdr: true # Optional BOOLEAN (true). Downlink static compression header enabled flag. Supported: [false, true].
ru_reference_level_dBFS: -12 # Optional FLOAT (-12). RU IQ reference level mapped to the maximum RF power. Supported: ($-\infty$ - 0]
subcarrier_rms_backoff_dB: 0 # Optional FLOAT (0). Power back-off attenuation applied to all subcarriers with respect to the RU reference level. Supported: [0, $\infty$)
iq_scaling: 0.1 # Optional FLOAT (0.1). Sets the IQ scaling factor. Supported: [0 - 100].
cplane_prach_fft_len: 4096 # Optional UINT (4096). PRACH FFT length (used in C-Plane Type-3 messages). Supported: [128, 256, 512, 1024, 1536, 2048, 3072, 4096].
ru_sdr:
srate: 61.44 # Required FLOAT (61.44). Sets the sampling rate of the RF-frontend in MHz.
device_driver: uhd # Required TEXT (uhd). RF device driver name. Supported: [uhd, zmq].
device_args: # Optional TEXT. An argument that gets passed to the selected RF driver.
tx_gain: 50 # Required FLOAT (50). Sets the transmit gain in dB. Supported: [0 - max value supported by radio].
rx_gain: 60 # Required FLOAT (60). Sets the receive gain in dB. Supported: [0 - max value supported by radio].
freq_offset: 0 # Optional FLOAT (0). Sets the frequency offset in Hertz.
clock_ppm: 0 # Optional FLOAT (0). Sets the clock calibration in Parts Per Million (PPM).
lo_offset: 0 # Optional FLOAT (0). Shifts the local oscillator frequency in MHz away from the center frequency to move LO leakage out of the channel.
clock: default # Optional TEXT (default). Specify the RF device clock source (i.e., 10MHz reference oscillator). Supported: [default, internal, external, gpsdo].
sync: default # Optional TEXT (default). Specify the RF device time synchronization source (i.e., 1PPS reference). Supported: [default, internal, external, gpsdo].
otw_format: default # Optional TEXT (default). Specify the over-the-wire format. Supported: [default, sc8, sc12, sc16].
time_alignment_calibration: auto # Optional TEXT (auto). Compensates for any reception and transmission time misalignment inherent to the RF device. Positive values reduce the RF transmission delay with respect to the RF reception. Negative values have the opposite effect.
start_time: # Optional TEXT (empty). Radio streaming start time with format %Y-%m-%d %H:%M:%S.
amplitude_control:
tx_gain_backoff: 12.0 # Optional FLOAT (12.0). Sets baseband gain back-off in dB. This accounts for the signal PAPR and is applied regardless of clipping settings. Format: positive float.
enable_clipping: false # Optional BOOLEAN (false). Sets clipping of the baseband samples on or off. If enabled, samples that exceed the power ceiling are clipped.
ceiling: -0.1 # Optional FLOAT (-0.1). Sets the power ceiling in dB, relative to the full scale amplitude of the radio. Format: negative float or 0.
expert_cfg:
low_phy_dl_throttling: 0 # Optional FLOAT (0). Throttles the lower PHY DL baseband generation. Setting to 0 disables throttling. Supported: any value in the range [0 - 1].
tx_mode: continuous # Optional TEXT (continuous). Selects a radio transmission mode. Discontinuous modes are not supported by all radios. Supported: [continuous, discontinuous, same-port]
power_ramping_time_us: 0 # Optional FLOAT (0). Specifies the power ramping time in microseconds, it proactively initiates the transmission and mitigates transient effects. It is recommended to configure this parameter carefully, taking into account the characteristics of the transmit chain in order to achieve optimal performance
ru_dummy:
dl_processing_delay: 1 # Optional UINT (1). Sets the downlink processing delay in number of slots.
time_scaling: 1 # Optional NONNEGATIVE FLOAT (1). Sets the time scaling factor applied to the slot duration. Must be greater than zero. A value greater than one slows down the RU, while a value between zero and one speeds it up. Supported [0 - inf].
fapi:
l2_nof_slots_ahead: 0 # Optional UINT (0). Sets the number of slots the L2 is running ahead of the L1. Supported: [0 - 5].
hal:
eal_args: # Optional TEXT. EAL configuration parameters used to initialize DPDK.
bbdev_hwacc:
hwacc_type: # Optional TEXT. Type of BBDEV hardware-accelerator. Supported: [acc100, acc200, vrb1].
id: 0 # Optional UINT (0). ID of the BBDEV-based hardware-accelerator. Supported: [0 - 65535].
pdsch_enc:
nof_hwacc: 0 # Optional UINT (0). Number of hardware-accelerated PDSCH encoding functions. Supported [0 - 64].
cb_mode: false # Optional BOOLEAN (false). Operation mode of the PDSCH encoder (CB = true, TB = false [default]).
max_buffer_size: 0 # Optional UINT (0). Maximum supported buffer size in bytes (CB mode will be forced for larger TBs).
dedicated_queue: true # Optional BOOLEAN (true). Hardware queue used for the PDSCH encoder (dedicated = true [default], shared = false).
pusch_dec:
nof_hwacc: 0 # Optional UINT (0). Number of hardware-accelerated PDSCH encoding functions. Supported [0 - 64].
harq_context_size: 0 # Optional UINT (0). Size of the HARQ context repository.
force_local_harq: false # Optional BOOLEAN (false). Force using the host memory to implement the HARQ buffer.
dedicated_queue: true # Optional BOOLEAN (true). Hardware queue used for the PDSCH encoder (dedicated = true [default], shared = false).
msg_mbuf_size: 0 # Optional UINT (0). Size of the mbufs storing unencoded and unrate-matched messages (in bytes). Supported [0 - 64000].
rm_mbuf_size: 0 # Optional UINT (0). Size of the mbufs storing encoded and rate-matched messages (in bytes). Supported [0 - 64000].
nof_mbuf: 0 # Optional UINT (0). Number of mbufs in the memory pool.
buffer_pool:
nof_segments: 1048576 # Optional UINT (1048576). Sets the number of segments allocated by the buffer pool.
segment_size: 2048 # Optional UINT (2048). Sets the size of each buffer pool segment in bytes.
expert_phy:
max_proc_delay: 5 # Optional INT (5). Sets the maximum allowed DL processing delay in slots. Supported: [1 - 30].
pusch_dec_max_iterations: 6 # Optional UINT (6). Sets the number of PUSCH LDPC decoder iterations. Format: Positive integer greater than 0.
pusch_dec_enable_early_stop: true # Optional BOOLEAN (true). Enables the PUSCH decoder early stopping mechanism.
pusch_decoder_force_decoding: false # Optional BOOLEAN (false). Set to true for forcing the LDPC decoder to decode inputs filled with zeros.
pusch_sinr_calc_method: post_equalization # Optional TEXT (evm). Sets the PUSCH SINR calculation method. Supported: [channel_estimator, post_equalization, evm].
pusch_channel_estimator_fd_strategy: filter # Optional TEXT (filter). Sets the PUSCH channel estimator frequency-domain strategy. Supported: [filter, mean, none].
pusch_channel_estimator_td_strategy: average # Optional TEXT (average). Sets the PUSCH channel estimator time-domain strategy. Supported: [average, interpolate].
pusch_channel_estimator_cfo_compensation: true # Optional BOOLEAN (true). Enables the PUSCH channel estimator CFO compensation. Supported: [false, true].
pusch_channel_equalizer_algorithm: zf # Optional TEXT (zf). Sets the PUSCH channel equalizer algorithm. Supported: [zf, mmse].
max_request_headroom_slots: 0 # Optional UINT (0). Sets the maximum request headroom size in slots. Supported: [0 - 3].
allow_request_on_empty_uplink_slot: false # Optional BOOLEAN (false). Allows uplink request on empty uplink slots (slots with no PUCCH/PUSHC/SRS PDUs).
enable_phy_tap: false # Optional BOOLEAN (false). Enables or disables the PHY tap plugin if it is present while building the application.
phy_tap_arguments: # Optional TEXT (empty). PHY tap plugin argument string passed during construction.
expert_execution:
cell_affinities: # Optional TEXT. Sets the cell CPU affinities configuration on a per cell basis. Entry order is the same as the order in the defined cell list.
-
ru_cpus: # Optional TEXT. Sets the CPU core(s) used for the Radio Unit tasks. Supported: [1, 2, 3 , ..., N].
ru_pinning: # Optional TEXT. Sets the policy used for assigning CPU cores to Radio Unit tasks.
affinities:
ofh: # Optional TEXT Sets the CPU affinities configuration for RU cells tx-rx threads. Number of entries specified defines the number of tx-rx threads created. By default if no entries are specified, the number of tx-rx threads equals the number of RU cells.
timing_cpu: # Optional TEXT. Sets the CPU core(s) used for timing in the Radio Unit.
txrx_cpus: # Optional TEXT. List of CPU core(s) used for the Radio Unit tasks.
- <cpu set>
threads:
upper_phy:
pdsch_processor_type: auto # Optional TEXT (auto). Sets the PDSCH processor type. Supported: [auto, generic, flexible].
pdsch_cb_batch_length: 4 # Optional UINT (4). Sets PDSCH flexible processor clodeblock-batch size. Supported values:
# 'auto' -> adapts the batch length to the number of threads dedicated to downlink processing
# 'synchronous' -> disables batch-splitting and ensure that TB processing remains within the calling thread without parallelization
max_pucch_concurrency: 0 # Optional UINT (0). Maximum PUCCH processing concurrency for all cells.
# Limits the maximum number of threads that can concurrently process Physical Uplink Control Channel
# (PUCCH). Set it to zero for no limit of threads.
max_pusch_and_srs_concurrency: 1 # Optional UINT (1). Maximum PUSCH and SRS processing concurrency for all cells.
# Limits the maximum number of threads that can concurrently process Physical Uplink Shared Channel
# (PUSCH) and Sounding Reference Signals (SRS). Set it to zero for no limitation. If hardware
# acceleration is enabled, this parameter is set to the number of the accelerator queues.
max_pdsch_concurrency: 0 # Optional UINT (0). Maximum concurrency level for PDSCH processing for all cells.
# Limits the number of threads that can concurrently process Physical Downlink Shared Channel (PDSCH).
# Set to zero for no limitation. If hardware acceleration is enabled, this parameter is set to the
# number of the accelerator queues.
lower_phy:
execution_profile: triple # Optional TEXT (triple). Sets the lower physical layer executor profile. Supported: [single, dual, triple].
ofh:
enable_busy_waiting: false # Optional BOOLEAN (false). Enables or disables the OFH busy waiting.
main_pool:
nof_threads: 0 # Optional UINT (0). Number of threads for processing upper PHY and upper layers.
task_queue_size: 2048 # Optional UINT (2048). Main thread pool task queue size.
backoff_period: 50 # Optional UINT (50). Main thread pool back-off period, in microseconds.
queues:
cu_up_dl_ue_executor_queue_size: 8192 # Optional UINT (8192). Sets the CU-UP's DL UE executor queue size.
cu_up_ul_ue_executor_queue_size: 8192 # Optional UINT (8192). Sets the CU-UP's UL UE executor queue size.
cu_up_ctrl_ue_executor_queue_size: 8192 # Optional UINT (8192). Sets the CU-UP's CTRL UE executor queue size.
cu_up_strand_batch_size: 256 # Optional UINT (256). Sets the CU-UP's strands batch size.
du_ue_data_executor_queue_size: 8192 # Optional UINT (8192). Sets the DU's UE executor task queue size for PDU processing.
tracing:
cu_up_executor_tracing_enable: false # Optional BOOLEAN (false). Enable tracing for CU-UP executors
remote_control:
enabled: false # Optional BOOLEAN (false). Enables the remote control feature. Supported: [false, true].
bind_addr: 127.0.0.1 # Optional TEXT (127.0.0.1). Sets the local IP address to bind for remote control. Supported: IPv4 address.
port: 8001 # Optional UINT (8001). Sets the port where the remote control server listens for incoming connections. Supported: [0 - 65535].
test_mode:
test_ue:
rnti: 0 # Optional ENUM (0). Sets the C-RNTI of the UE. Supported: [0 - 65519].
nof_ues: 1 # Optonal UINT (1). Sets the number of test UE(s) created. Supported [0 - 1024].
auto_ack_indication_delay: # Optional TEXT. Sets the delay before the UL and DL HARQs are automatically ACKed. This feature should only be used if the UL PHY is not operational.
pdsch_active: true # Optional BOOLEAN (true). Enables the PDSCH of the UE. Supported: [false, true].
pusch_active: true # Optional BOOLEAN (true). Enables the PUSCH of the UE. Supported: [false, true].
cqi: 15 # Optional UINT (15). Sets the Channel Quality Information to be forwarded to the test UE. Supported: [1 - 15].
pmi: 0 # Optional UINT (0). Sets the Precoder Matrix Indicator to be forwarded to test UE. Supported: [0 - 3].
ri: 1 # Optional UINT (1). Sets the Rank Indicator to be forwarded to the test UE. Supported: [1 - 4].
i_1_1: 0 # Optional INT (0). Sets the Precoder Matrix codebook index "i_1_1" to be forwarded to test UE, in the case of more than 2 antennas. Supported: [0 - 7].
i_1_3: 0 # Optional INT (0). Sets the Precoder Matrix codebook index "i_1_3" to be forwarded to test UE, in the case of more than 2 antennas. Supported: [0 - 1].
i_2: 0 # Optional INT (0). Sets the Precoder Matrix codebook index "i_2" to be forwarded to test UE, in the case of more than 2 antennas. Supported: [0 - 3].
log:
# All gNB layers and components can be configured independently to output at various levels of detail. Logs can be configured to the following levels (from lowest to highest levels of detail):
# none, error, warning, info, debug
filename: stdout # Optional TEXT (stdout). File path for logs. Logs can be redirected to stdout by setting the filename to "stdout".
all_level: warning # Optional TEXT (warning). Sets a common log level across PHY, MAC, RLC, PDCP, RRC, SDAP, NGAP and GTPU layers.
lib_level: warning # Optional TEXT (warning). Sets the generic log level.
e2ap_level: warning # Optional TEXT (warning). Sets the E2AP log level.
config_level: none # Optional TEXT (none). Sets the config log level.
rrc_level: warning # Optional TEXT (warning). Sets the RRC log level.
ngap_level: warning # Optional TEXT (warning). Sets NGAP log level.
nrppa_level: warning # Optional TEXT (warning). Sets NRPPA log level.
sec_level: warning # Optional TEXT (warning). Sets the security functions level.
pdcp_level: warning # Optional TEXT (warning). Sets the PDCP log level.
sdap_level: warning # Optional TEXT (warning). Sets the SDAP log level.
e1ap_level: warning # Optional TEXT (warning). Sets the E1AP log level.
e1ap_json_enabled: false # Optional BOOLEAN (false). Enables the JSON logging of E1AP PDUs. Supported: [false, true].
cu_level: warning # Optional TEXT (warning). Sets the CU log level.
mac_level: warning # Optional TEXT (warning). Sets the MAC log level.
rlc_level: warning # Optional TEXT (warning). Sets the RLC log level.
f1ap_level: warning # Optional TEXT (warning). Sets the F1AP log level.
f1u_level: warning # Optional TEXT (warning). Sets the F1u log level.
gtpu_level: warning # Optional TEXT (warning). Sets the GTPU log level.
du_level: warning # Optional TEXT (warning). Sets the DU log level.
f1ap_json_enabled: false # Optional BOOLEAN (false). Enables the JSON logging of F1AP PDUs. Supported: [false, true].
high_latency_diagnostics_enabled: false # Optional BOOLEAN (false). Enables logging of performance diagnostics when high computational latencies are detected. Supported: [false, true].
fapi_level: warning # Optional TEXT (warning). Sets FAPI log level.
hal_level: warning # Optional TEXT (warning). Sets the HAL log level.
broadcast_enabled: false # Optional BOOLEAN (false). Enables logging in the PHY and MAC layer of broadcast messages and all PRACH opportunities. Supported: [false, true].
phy_rx_symbols_filename: # Optional TEXT. Print received symbols to file. Symbols will be printed if a valid path is set. Format: file path. This file can be used in the srsRAN_matlab project.
phy_rx_symbols_port: 0 # Optional TEXT. Set to a valid receive port number to dump the IQ symbols from that port only, or set to "all" to dump the IQ symbols from all UL receive ports. Only works if "phy_rx_symbols_filename" is set. Supported: [NON-NEGATIVE or all].
phy_rx_symbols_prach: false # Optional BOOLEAN (false). Set to true to dump the IQ symbols from all the PRACH ports. Only works if "phy_rx_symbols_filename" is set. Supported: [false, true].
hex_max_size: 0 # Optional INT (0). Sets the aximum number of bytes to print in hex (zero for no hex dumps, -1 for unlimited bytes). Supported: [-1 - 1024]
ofh_level: warning # Optional TEXT (warning). Sets Open Fronthaul log level.
radio_level: info # Optional TEXT (info). Sets radio log level.
phy_level: warning # Optional TEXT (warning). Sets PHY log level.
pcap:
ngap_filename: /tmp/gnb_ngap.pcap # Optional TEXT (/tmp/gnb_ngap.pcap). Path for NGAP PCAPs.
ngap_enable: false # Optional BOOLEAN (false). Enable/disable NGAP packet capture. Supported: [false, true].
n3_filename: /tmp/gnb_n3.pcap # Optional TEXT (/tmp/gnb_n3.pcap). Path for N3 PCAPs.
n3_enable: false # Optional BOOLEAN (false). Enable/disable N3 packet capture. Supported: [false, true].
e1ap_filename: /tmp/gnb_e1ap.pcap # Optional TEXT (/tmp/gnb_e1ap.pcap). Path for E1AP PCAPs.
e1ap_enable: false # Optional BOOLEAN (false). Enable/disable E1AP packet capture. Supported: [false, true].
e2ap_cu_cp_filename: /tmp/cu_cp_e2ap.pcap # Optional TEXT (/tmp/cu_cp_e2ap.pcap). Path for E2AP CU-CP PCAPs.
e2ap_cu_up_filename: /tmp/cu_up_e2ap.pcap # Optional TEXT (/tmp/cu_up_e2ap.pcap). Path for E2AP CU-UP PCAPs.
e2ap_du_filename: /tmp/du_e2ap.pcap # Optional TEXT (/tmp/du_e2ap.pcap). Path for E2AP CU PCAPs.
e2ap_enable: false # Optional BOOLEAN (false). Enable/disable E2AP packet capture. Supported: [false, true].
f1ap_filename: /tmp/gnb_f1ap.pcap # Optional TEXT (/tmp/gnb_f1ap.pcap). Path for F1AP PCAPs.
f1ap_enable: false # Optional BOOLEAN (false). Enable/disable F1AP packet capture. Supported: [false, true].
f1u_filename: /tmp/gnb_f1u.pcap # Optional TEXT (/tmp/gnb_f1ap.pcap). Path for F1AP PCAPs.
f1u_enable: false # Optional BOOLEAN (false). Enable/disable F1AP packet capture. Supported: [false, true].
rlc_filename: /tmp/gnb_rlc.pcap # Optional TEXT (tmp/gnb_rlc.pcap). Path for RLC PCAPs.
rlc_rb_type: all # Optional TEXT. Sets the RLC PCAP RB type. Supported: [all, srb, drb].
rlc_enable: false # Optional BOOLEAN (false). Enable/disable RLC packet capture. Supported: [false, true].
mac_filename: /tmp/gnb_mac.pcap # Optional TEXT (/tmp/gnb_mac.pcap). Path for MAC PCAPs.
mac_type: udp # Optional TEXT (udp). Sets the MAC PCAP pcap type. Supported: [DLT or UDP].
mac_enable: false # Optional BOOLEAN (false). Enable/disable MAC packet capture. Supported: [false, true].
metrics:
autostart_stdout_metrics: false # Optional BOOLEAN (false). Sets whether or not to autostart stdout metrics reporting. Supported [false, true].
enable_json: false # Optional BOOLEAN (false). Enables JSON metrics reporting.
enable_log: false # Optional BOOLEAN (false). Enables log metrics reporting.
enable_verbose: false # Optional BOOLEAN (false). Enables extended detail metrics reporting.
layers:
enable_app_usage: false # Optional BOOLEAN (false). Enables application usage metrics.
enable_ngap: false # Optional BOOLEAN (false). Enables NGAP metrics.
enable_e1ap: false # Optional BOOLEAN (false). Enables E1AP metrics.
enable_pdcp: false # Optional BOOLEAN (false). Enables PDCP metrics.
enable_rrc: false # Optional BOOLEAN (false). Enables RRC metrics.
skip_cu_up_executor: true # Optional BOOLEAN (true). Whether to skip logging CU-UP executor metrics when executor logging is enabled application wide.
enable_sched: true # Optional BOOLEAN (true). Enables DU scheduler metrics.
enable_rlc: false # Optional BOOLEAN (false). Enables RLC metrics.
enable_mac: false # Optional BOOLEAN (false). Enables MAC metrics.
enable_executor: false # Optional BOOLEAN (false). Whether to log application executors metrics.
enable_du_low: false # Optional BOOLEAN (false). Enables DU low metrics (upper physical layer).
enable_ru: false # Optional BOOLEAN (false). Enables Radio Unit metrics.
periodicity:
app_usage_report_period: 1000 # Optional UINT (1000). Application resource usage metrics report period in milliseconds.
cu_cp_report_period: 1000 # Optional UINT (1000). CU-CP metrics report period in milliseconds.
cu_up_report_period: 1000 # Optional UINT (1000). CU-UP metrics report period in milliseconds.
du_report_period: 1000 # Optional UINT (1000). DU statistics report period in milliseconds. Supported: [0 - 10485760].
executors_report_period: 1000 # Optional UINT (1000). Executors metrics report period in milliseconds. Supported: [0 - 10485760].
trace:
filename: # Optional TEXT. Set to a valid file path to enable tracing and write the trace to the file.
max_tracing_events_per_file: 1000000 # Optional UINT (1000000). Maximum number of events per file. Set to zero for no limit.
nof_tracing_events_after_severe: 0 # Optional UINT (0). Number of events to write prior to a severe event. Set to zero for writing all events.
layers:
du_high_enable: false # Optional BOOLEAN (false). Enables tracing for DU-high executors.
phy_enable: false # Optional BOOLEAN (false). Enables tracing for physical layer executors.
ran_node_name: cucp01 # Required TEXT (cu_cp_01). Sets the text ID associated with the gNB. Format: string without spaces.
gnb_id: 411 # Required UINT (411). Sets the numerical ID associated with the gNB.
gnb_id_bit_length: 22 # Required UNIT (22). Sets the bit length of the gnb_id above. Format: integer between [22 - 32]
gnb_cu_up_id: 0 # Optional UINT (0). Sets the CU-UP ID. Format: integer between [0 - 255].
qos: # Optional TEXT. Configures RLC and PDCP radio bearers on a per 5QI basis. This can only be set via the configuration file. Each list entry should begin with "-".
cu_cp:
max_nof_dus: # Optional UINT. Maximum number of DU connections that the CU-CP may accept.
max_nof_cu_ups: # Optional UINT. Maximum number of CU-UP connections that the CU-CP may accept.
max_nof_ues: # Optional UINT. Maximum number of UEs that the CU-CP may accept.
max_nof_drbs_per_ue: # Optional UINT. Maximum number of DRBs per UE. Supported: [1 - 29].
inactivity_timer: 120 # Optional INT (120). Sets the UE/PDU Session/DRB inactivity timer in seconds. Supported: [1 - 7200].
request_pdu_session_timeout: 3 # Optional INT (3). Timeout for the setup of a PDU session after an InitialUeMessage was sent to the core, in seconds. The timeout must be larger than T310. If the value is reached, the UE will be released
amf:
no_core: false # Optional BOOLEAN. Setting to true allows the gNB to run without a core. Supported: [0, 1].
amf_reconnection_retry_time: 1000 # Optional INT (1000). Sets the time in ms to wait before retrying to connect to the AMF after a failed connection attempt.
addr: # Required TEXT. Sets the IP address or hostname of the AMF. Format: IPV4 or IPV6 IP address.
port: 38412 # Optional UINT. Sets the AMF port. Format: integer between [20000 - 40000].
bind_addr: 127.0.0.1 # Optional TEXT. Sets local IP address to bind for N2 interface. Format: IPV4 or IPV6 IP address.
bind_interface: auto # Optional TEXT (auto). Sets network device to bind for N2 interface. Format: IPV4 or IPV6 IP address.
sctp_rto_initial: 120 # Optional INT. Sets the initial retransmission timeout when creating the SCTP connection.
sctp_rto_min: 120 # Optional INT. Sets the minimum retransmission timeout for the SCTP connection.
sctp_rto_max: 500 # Optional INT. Sets the maximum retransmission timeout for the SCTP connection.
sctp_init_max_attempts: 3 # Optional INT. Sets the maximum retransmission attempts for the initial SCTP connection.
sctp_max_init_timeo: 500 # Optional INT. Sets the maximum retransmission timeout for the initial SCTP connection.
sctp_hb_interval: 30000 # Optional INT (30000). SCTP heartbeat interval in milliseconds (-1 to use system default).
sctp_assoc_max_retx: 10 # Optional INT (10). SCTP association max retransmissions (-1 to use system default).
sctp_nodelay: false # Optional BOOLEAN. Setting to true allows the gNB to send SCTP messages as soon as possible without any Nagle-like algorithm. Supported: [false, true].
supported_tracking_areas: # Required TEXT. Sets the list of tracking areas supported by this AMF.
- # Supported TAC #1
tac: 7 # Required UINT. Sets the Tracking Area Code.
plmn_list: # Required TEXT. Sets the list of PLMN items supported for this Tracking Area.
- # Supported PLMN #1
plmn: "00101" # Required TEXT. Sets the Public Land Mobile Network code. Format: 7-digit PLMN code containing MCC & MNC.
tai_slice_support_list: # Required TEXT. Sets the list of TAI slices for this PLMN item.
- # Supported TAI Slice(s) for PLMN
sst: 1 # Optional UINT. Sets the Slice Service Type. Supported: [0 - 255].
sd: # Optional UINT. Sets the Service Differentiator. Supported: [0-16777215]. # Optional UINT. Sets the Service Differentiator. Supported: [0-16777215].
mobility:
trigger_handover_from_measurements: false # Optional BOOLEAN (false). Sets whether or not to start HO if neighbor cells become stronger. Supported: [false, true].
cells: # Optional TEXT. Sets the list of cells known to the CU-CP, their configs (if not provided over F1) and their respective neighbor cells.
- # Define Cell 1
nr_cell_id: # Required UINT. The ID of this serving cell.
periodic_report_cfg_id: # Optional UINT. The periodical report configuration to use for this serving cell.
ncells: # Required TEXT. List of neighbor cells.
nr_cell_id: # Required UINT. The ID of this neighbor cell.
report_configs: # Required TEXT. List of report configurations to use for measurements of this neighbor cell.
gnb_id_bit_length: # Optional UINT. The ID of this gNB. Supported: [22 - 32]
pci: # Optional UINT. The PCI of this serving cell. Supported: [0-1007]
band: # Optional UINT. The NR band of this serving cell cell. Must be present if not provided over F1.
ssb_scs: # Optional UINT. The SSB subcarrier spacing of this serving cell in KHz. Must be present if not provided over F1.
ssb_period: # Optional UINT. The SSB period of this serving cell in ms. Must be present if not provided over F1.
ssb_offset: # Optional UINT. The SSB offset of this serving cell. Must be present if not provided over F1.
ssb_duration: # Optional UINT. The SSB duration of this serving cell in subframes. Must be present if not provided over F1.
report_configs: # Optional TEXT. Sets the list of report configurations to dynamically build a measurement configuration sent to the UEs using the below values.
- # Define report configs for cell 1
report_cfg_id: # Required UINT. The ID of this report configuration.
report_type: # Required TEXT. The type of the report. Supported: [event_triggered, periodical]. Note that periodical reports are only supported for serving cells.
event_triggered_report_type: # Optional TEXT. Sets the type of event triggered report. Supported: [a1, a2, a3, a4, a5, a6].
report_interval_ms: 1024 # Optional UINT (1024). The report interval in ms. Supported: [120, 240, 480, 640, 1024, 2048, 5120, 10240, 20480, 40960, 60000, 360000, 720000, 1800000].
periodic_ho_rsrp_offset_db: -1 # OPTIONAL INT (-1). Measurement trigger quantity offset in dB used to trigger handovers by periodic measurement reports. When set to -1 no handover will be triggered from periodical measurements. Note the actual value is field value * 0.5 dB. Supported: [-1 - 30].
meas_trigger_quantity: # Optional TEXT. Sets the quantity to be measured. Supported: [rsrp, rsrq, sinr].
meas_trigger_quantity_threshold_db: # Optional UINT. Sets the measurement trigger quantity threshold in dB used for measurement report trigger of event A1/A2/A4/A5. Supported: [0 - 127].
meas_trigger_quantity_threshold_2_db: # Optional UINT. Sets the measurement trigger quantity threshold 2 in dB used for measurement report trigger of event A5. Supported: [0 - 127].
meas_trigger_quantity_offset_db: # Optional UINT. Sets the measurement trigger quantity offset in dB used for measurement report trigger of event A3/A6. Note the actual value is field value * 0.5 dB. Supported: [-30 - 30].
hysteresis_db: # Optional UINT. Sets the hysteresis in dB used for measurement report trigger. Note the actual value is field value * 0.5 dB. Supported: [0 - 30].
time_to_trigger_ms: # Optional UINT. Sets the time in ms during which a condition must be met before measurement report trigger. Supported: [0, 40, 64, 80, 100, 128, 160, 256, 320, 480, 512, 640, 1024, 1280, 2560, 5120].
rrc:
force_reestablishment_fallback: false # Optional BOOLEAN (false). Force RRC re-establishment fallback to RRC setup. Supported: [false, true].
rrc_procedure_guard_time_ms: 1000 # Optional UINT (1000). Sets the guard time in ms used for RRC message exchange with UE. This is added to the RRC procedure timeout. Supported: [0 - inf].
security:
integrity: not_needed # Optional TEXT (not_needed). Sets the default integrity protection indication for DRBs.
confidentiality: required # Optional TEXT (required). Sets the default integrity confidentiality indication for DRBs.
nea_pref_list: nea0,nea2,nea1 # Optional TEXT (nea0,nea2,nea1). Ordered preference list for the selection of encryption algorithm (NEA). Supported: [nea0,nea2,nea1,nea3].
nia_pref_list: nia2,nia1 # Optional TEXT (nia2,nia1). Ordered preference list for the selection of encryption algorithm (NIA). Supported: [nia2,nia1,nia3].
f1ap:
bind_addr: 120.0.10.1 # Optional TEXT (127.0.0.1). Sets the F1-c bind address.
procedure_timeout: 1000 # Optional INT (1000). Sets the time the F1AP waits for a DU response in milliseconds.
e1ap:
procedure_timeout: 1000 # Optional INT (1000). Sets the time the E1AP waits for a CU-UP response in milliseconds.
cu_up:
warn_on_drop: false # Optional BOOLEAN (false). Enables the option to log a warning for dropped packets in GTP-U and PDCP due to full queues. Supported: [false, true].
f1u:
bind_port: 2152 # Optional INT (2152). Sets the F1-U bind port.
peer_port: 2152 # Optional INT (2152). Sets the F1-U peer port.
socket: # Define UDP/IP socket(s) for F1-U interface.
- # Socket 1
bind_addr: 127.0.10.1 # Required TEXT. Sets the address that the F1-U socket will bind to.
ext_addr: 8.8.8.8 # Optional TEXT. Sets the address that is reported as the F1-U bind address. If empty, the real bind address is used.
udp:
max_rx_msgs: 256 # Optional UINT (256). Sets the maximum packets read from the socket in a single syscall.
pool_threshold: 0.9 # Optional FLOAT (0.9). Sets the pool occupancy threshold, after which packets are dropped. Supported [0 - 1.0].
ngu:
no_core: false # Optional BOOLEAN (false). Setting to true allows the gNB to run without a core. Supported: [0, 1].
socket: # Define socket(s) for NG-U interface.
- # Socket 1
bind_addr: 127.0.3.1 # Optional TEXT (auto). Sets local IP address to bind for N3 interface. Format: IPV4 or IPV6 IP address.
udp:
max_rx_msgs: 256 # Optional INT (256). Sets the maximum number of messages RX from a socket in a single syscall.
pool_threshold: 0.9 # Optional FLOAT (0.9). Sets the pool occupancy threshold, after which packets are dropped. Supported: [0.0 - 1.0].
dscp: # Optional UINT. Sets the Differentiated Services Code Point. Supported: [0 - 63].
gtpu:
queue_size: 2046 # Optional UINT (2046). GTP-U queue size, in PDUs
batch_size: 256 # Optional UINT (256). Maximum number of GTP-U PDUs processed in a batch
reordering_timer: 0 # Optional UINT (0). GTP-U RX reordering timer (in milliseconds)
rate_limiter_period: # Optional INT. GTP-U RX rate limiter period (in milliseconds)
ignore_ue_ambr: true # Optional BOOLEAN (true). Ignore GTP-U DL UE-AMBR rate limiter
test_mode:
enable: false # Optional BOOLEAN (false). Enable or disable CU-UP test mode
integrity_enable: false # Optional BOOLEAN (false). Enable or disable PDCP integrity testing
ciphering_enable: false # Optional BOOLEAN (false). Enable or disable PDCP ciphering testing
nea_algo: 2 # Optional UINT:INT (2). NEA algo to use for testing. Format: [0 - 3]
nia_algo: 2 # Optional UINT:INT (2). NIA algo to use for testing. Format: [1 - 3]
ue_ambr: # Optional UINT. DL UE-AMBR used for testing in bps
attach_detach_period: # Optional INT. Attach/detach period for test mode. 0 means always attached.
e2:
enable_cu_cp_e2: false # Optional BOOLEAN (false). Enables the CU-CP E2 agent. Supported: [false, true].
enable_cu_up_e2: false # Optional BOOLEAN (false). Enables the CU-UP E2 agent. Supported: [false, true].
addr: 127.0.0.1 # Optional TEXT (127.0.0.1). Sets the RIC IP address.
port: 36421 # Optional UINT (36421). Sets the RIC Port. Supported: [20000 - 40000].
bind_addr: 127.0.0.1 # Optional TEXT (127.0.0.1). Sets the local IP address to bind for RIC connection. Supported: IPv4 address.
sctp_rto_initial: 120 # Optional INT. Sets the initial retransmission timeout when creating the SCTP connection.
sctp_rto_min: 120 # Optional INT. Sets the minimum retransmission timeout for the SCTP connection.
sctp_rto_max: 500 # Optional INT. Sets the maximum retransmission timeout for the SCTP connection.
sctp_init_max_attempts: 3 # Optional INT. Sets the maximum retransmission attempts for the initial SCTP connection.
sctp_max_init_timeo: 500 # Optional INT. Sets the maximum retransmission timeout for the initial SCTP connection.
e2sm_kpm_enabled: false # Optional BOOLEAN (false). Enabled the E2SM KPM service module. Supported: [false, true].
e2sm_rc_enabled: false # Optional BOOLEAN (false). Enabled the E2SM RC service module. Supported: [false, true].
buffer_pool:
nof_segments: 1048576 # Optional UINT (1048576). Sets the number of segments allocated by the buffer pool.
segment_size: 2048 # Optional UINT (2048). Sets the size of each buffer pool segment in bytes.
expert_execution:
main_pool:
nof_threads: 0 # Optional UINT (0). Number of threads for processing upper PHY and upper layers.
task_queue_size: 2048 # Optional UINT (2048). Main thread pool task queue size.
backoff_period: 50 # Optional UINT (50). Main thread pool back-off period, in microseconds.
queues:
cu_up_dl_ue_executor_queue_size: 8192 # Optional UINT (8192). Sets the CU-UP's DL UE executor queue size.
cu_up_ul_ue_executor_queue_size: 8192 # Optional UINT (8192). Sets the CU-UP's UL UE executor queue size.
cu_up_ctrl_ue_executor_queue_size: 8192 # Optional UINT (8192). Sets the CU-UP's CTRL UE executor queue size.
cu_up_strand_batch_size: 256 # Optional UINT (256). Sets the CU-UP's strands batch size.
tracing:
cu_up_executor_tracing_enable: false # Optional BOOLEAN (false). Enable tracing for CU-UP executors
remote_control:
enabled: false # Optional BOOLEAN (false). Enables the remote control feature. Supported: [false, true].
bind_addr: 127.0.0.1 # Optional TEXT (127.0.0.1). Sets the local IP address to bind for remote control. Supported: IPv4 address.
port: 8001 # Optional UINT (8001). Sets the port where the remote control server listens for incoming connections. Supported: [0 - 65535].
log:
# All gNB layers and components can be configured independently to output at various levels of detail. Logs can be configured to the following levels (from lowest to highest levels of detail):
# none, error, warning, info, debug
filename: stdout # Optional TEXT (stdout). File path for logs. Logs can be redirected to stdout by setting the filename to "stdout".
all_level: warning # Optional TEXT (warning). Sets a common log level across PHY, MAC, RLC, PDCP, RRC, SDAP, NGAP and GTPU layers.
lib_level: warning # Optional TEXT (warning). Sets generic log level.
e2ap_level: warning # Optional TEXT (warning). Sets E2AP log level.
config_level: none # Optional TEXT (none). Sets the config log level.
rrc_level: warning # Optional TEXT (warning). Sets RRC log level.
ngap_level: warning # Optional TEXT (warning). Sets NGAP log level.
nrppa_level: warning # Optional TEXT (warning). Sets NRPPA log level.
pdcp_level: warning # Optional TEXT (warning). Sets PDCP log level.
sdap_level: warning # Optional TEXT (warning). Sets SDAP log level.
sec_level: warning # Optional TEXT (warning). Sets security functions level.
e1ap_level: warning # Optional TEXT (warning). Sets E1AP log level.
e1ap_json_enabled: false # Optional BOOLEAN (false). Enables the JSON logging of E1AP PDUs. Supported: [false, true].
cu_level: warning # Optional TEXT (warning). Sets the CU log level.
f1ap_level: warning # Optional TEXT (warning). Sets F1AP log level.
f1u_level: warning # Optional TEXT (warning). Sets F1u log level.
gtpu_level: warning # Optional TEXT (warning). Sets GTPU log level.
f1ap_json_enabled: false # Optional BOOLEAN (false). Enables the JSON logging of F1AP PDUs.
hex_max_size: 0 # Optional INT (0). Sets the aximum number of bytes to print in hex (zero for no hex dumps, -1 for unlimited bytes). Supported: [-1 - 1024].
pcap:
ngap_filename: /tmp/gnb_ngap.pcap # Optional TEXT (/tmp/gnb_ngap.pcap). Path for NGAP PCAPs.
ngap_enable: false # Optional BOOLEAN (false). Enable/disable NGAP packet capture. Supported: [false, true].
f1ap_filename: /tmp/gnb_f1ap.pcap # Optional TEXT (/tmp/gnb_f1ap.pcap). Path for F1AP PCAPs.
f1ap_enable: false # Optional BOOLEAN (false). Enable/disable F1AP packet capture. Supported: [false, true].
n3_filename: /tmp/gnb_n3.pcap # Optional TEXT (/tmp/gnb_n3.pcap). Path for N3 PCAPs.
n3_enable: false # Optional BOOLEAN (false). Enable/disable N3 packet capture. Supported: [false, true].
f1u_filename: /tmp/gnb_f1u.pcap # Optional TEXT (/tmp/gnb_f1u.pcap). Path for F1-U (NRU) PCAPs.
f1u_enable: false # Optional BOOLEAN (false). Enable/disable F1-U (NRU) packet capture. Supported: [false, true].
e1ap_filename: /tmp/gnb_e1ap.pcap # Optional TEXT (/tmp/gnb_e1ap.pcap). Path for E1AP PCAPs.
e1ap_enable: false # Optional BOOLEAN (false). Enable/disable E1AP packet capture. Supported: [false, true].
e2ap_cu_cp_filename: /tmp/cu_cp_e2ap.pcap # Optional TEXT (/tmp/cu_cp_e2ap.pcap). Path for E2AP CU-CP PCAPs.
e2ap_cu_up_filename: /tmp/cu_up_e2ap.pcap # Optional TEXT (/tmp/cu_up_e2ap.pcap). Path for E2AP CU-UP PCAPs.
e2ap_enable: false # Optional BOOLEAN (false). Enable/disable E2AP packet capture. Supported: [false, true].
metrics:
autostart_stdout_metrics: false # Optional BOOLEAN (false). Sets whether or not to autostart stdout metrics reporting. Supported [false, true].
enable_json: false # Optional BOOLEAN (false). Enables JSON metrics reporting.
enable_log: false # Optional BOOLEAN (false). Enables log metrics reporting.
enable_verbose: false # Optional BOOLEAN (false). Enables extended detail metrics reporting.
layers:
enable_app_usage: false # Optional BOOLEAN (false). Enables application usage metrics.
enable_ngap: false # Optional BOOLEAN (false). Enables NGAP metrics.
enable_e1ap: false # Optional BOOLEAN (false). Enables E1AP metrics.
enable_pdcp: false # Optional BOOLEAN (false). Enables PDCP metrics.
enable_rrc: false # Optional BOOLEAN (false). Enables RRC metrics.
skip_cu_up_executor: true # Optional BOOLEAN (true). Whether to skip logging CU-UP executor metrics when executor logging is enabled application wide.
periodicity:
app_usage_report_period: 1000 # Optional UINT (1000). Application resource usage metrics report period in milliseconds.
cu_cp_report_period: 1000 # Optional UINT (1000). CU-CP metrics report period in milliseconds.
cu_up_report_period: 1000 # Optional UINT (1000). CU-UP metrics report period in milliseconds.
trace:
filename: # Optional TEXT. Set to a valid file path to enable tracing and write the trace to the file.
max_tracing_events_per_file: 1000000 # Optional UINT (1000000). Maximum number of events per file. Set to zero for no limit.
nof_tracing_events_after_severe: 0 # Optional UINT (0). Number of events to write prior to a severe event. Set to zero for writing all events.
gnb_id: 411 # Required UINT (411). Sets the numerical ID associated with the gNB.
gnb_id_bit_length: 22 # Required UNIT (22). Sets the bit length of the gnb_id above. Format: integer between [22 - 32]
gnb_du_id: 0 # Optional UINT (0). Sets the gNB DU ID. Supported: [0 - 68719476735].
cells: # Optional TEXT. Sets the cell configuration on a per cell basis, overwriting the default configuration defined by cell_cfg. Contains a list of cells, each with parameters that overwrite the default config. This can only be
# set via the configuration file. For more information see the relevant example configuration file: gnb_custom_cell_properties.yml. Each list entry should begin with "-".
- pci: 1 # Optional TEXT. Override the PCI defined by the default cell in cell_cfg.
dl_arfcn: 536020 # Optional TEXT. Set the ARFCN for the above PCI. Note, this must match the value used in the cell_cfg section.
- pci: 2 # Optional TEXT. Set the PCI of the second cell.
dl_arfcn: 532020 # Optional TEXT. Set the ARFCN of the second cell. Note, this must match the value used in the cell_cfg section.
qos: # Optional TEXT. Configures RLC and PDCP radio bearers on a per 5QI basis. This can only be set via the configuration file. Each list entry should begin with "-".
srbs: # Optional TEXT. Configures signaling radio bearers. Each list entry should begin with "-".
f1ap: # Interface between DU and CU-CP
cu_cp_addr: 127.0.10.1 # Required TEXT (127.0.10.1). Sets the CU-CP F1-C address to connect to.
bind_addr: 127.0.10.2 # Required TEXT (127.0.10.2). Sets the DU F1-C bind address. If left empty, implicit bind is performed.
f1u:
queue_size: 2048 # Optional INT (2048). Sets the F1-U PDU queue size in bytes.
bind_port: 2152 # Optional INT (2152). Sets the F1-U bind port.
peer_port: 2152 # Optional INT (2152). Sets the F1-U peer port.
socket:
bind_addr: 127.0.10.1 # Required TEXT (127.0.10.1). Sets the DU F1-U bind address.
ext_addr: # Optional TEXT. Set the external IP address that is advertised to receive F1-U packets from the CU-UP. If left empty, the bind address is used.
five_qi: 9 # Optional UINT (9). Sets the 5QI value for the F1-U socket. Supported: [0 - 255].
udp:
max_rx_msgs: 256 # Optional UINT (256). Sets the maximum number of messages that can be received in a single UDP packet. Supported: [1 - 256].
pool_threshold: 0.9 # Optional FLOAT (0.9). Sets the pool occupancy threshold after which packets are dropped. Supported: [0 - 1].
du:
warn_on_drop: false # Optional BOOLEAN (false). Enables the option to log a warning for dropped packets in F1-U, RLC and MAC due to full queues. Supported: [false, true].
e2:
enable_du_e2: false # Optional BOOLEAN (false). Enables the DU E2 agent. Supported: [false, true].
addr: 127.0.0.1 # Optional TEXT (127.0.0.1). Sets the RIC IP address.
port: 36421 # Optional UINT (36421). Sets the RIC Port. Supported: [20000 - 40000].
bind_addr: 127.0.0.1 # Optional TEXT (127.0.0.1). Sets the local IP address to bind for RIC connection. Supported: IPv4 address.
sctp_rto_initial: 120 # Optional INT (120). Sets the initial retransmission timeout when creating the SCTP connection.
sctp_rto_min: 120 # Optional INT (120). Sets the minimum retransmission timeout for the SCTP connection.
sctp_rto_max: 500 # Optional INT (500). Sets the maximum retransmission timeout for the SCTP connection.
sctp_init_max_attempts: 3 # Optional INT (3). Sets the maximum retransmission attempts for the initial SCTP connection.
sctp_max_init_timeo: 500 # Optional INT (500). Sets the maximum retransmission timeout for the initial SCTP connection.
e2sm_kpm_enabled: false # Optional BOOLEAN (false). Enabled the E2SM KPM service module. Supported: [false, true].
e2sm_rc_enabled: false # Optional BOOLEAN (false). Enabled the E2SM RC service module. Supported: [false, true].
ntn:
cell_specific_koffset: 0 # Optional INT (0). Sets the cell-specific k-offset to be used for NTN. Supported: [0 - 1023].
ntn_ul_sync_validity_dur: 5 # Optional INT. Sets the NTN UL sync validity duration in milliseconds. Supported: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 120, 180, 240, 900].
epoch_time:
sfn: 0 # Optional INT (0). Sets the SFN part. Supported: [0 - 1023].
subframe_number: 0 # Optional INT (0). Sets the sub-frame number part. Supported: [0 - 9].
ta_info:
ta_common: 0 # Optional INT (0). Sets the common Timing Advance value. Supported: [0 - 66485757].
ta_common_drift: 0 # Optional INT (0). Sets the common Timing Advance drift value. Supported: [-257303 - 257303].
ta_common_drift_variant: 0 # Optional INT (0). Sets the common Timing Advance drift variant value. Supported: [0 - 28949].
ephemeris_info_ecef:
pos_x: 0 # Optional INT (0). Sets the X position of the satellite. Supported: [-67108864 - 67108863].
pos_y: 0 # Optional INT (0). Sets the Y position of the satellite. Supported: [-67108864 - 67108863].
pos_z: 0 # Optional INT (0). Sets the Z position of the satellite. Supported: [-67108864 - 67108863].
vel_x: 0 # Optional INT (0). Sets the X velocity of the satellite. Supported: [-32768 - 32767].
vel_y: 0 # Optional INT (0). Sets the Y velocity of the satellite. Supported: [-32768 - 32767].
vel_z: 0 # Optional INT (0). Sets the Z velocity of the satellite. Supported: [-32768 - 32767].
ephemeris_orbital:
semi_major_axis: 0 # Optional FLOAT (0). Sets the semi-major axis of the satellite. Supported: [0 - 1000000000].
eccentricity: 0 # Optional FLOAT (0). Sets the eccentricity of the satellite.
periapsis: 0 # Optional FLOAT (0). Sets the periapsis of the satellite.
longitude: 0 # Optional FLOAT (0). Sets the longitude of the satellites angle of ascending node.
inclination: 0 # Optional FLOAT (0). Sets the inclination of the satellite.
mean_anomaly: 0 # Optional FLOAT (0). Sets the mean anomaly of the satellite.
cell_cfg:
pci: 1 # Required UINT (1). Sets the Physical Cell ID. Supported: [0-1007].
sector_id: 0 # Optional UINT (0). Sets the Sector ID (4-14 bits). This value is concatenated with the gNB Id to form the NR Cell Identity (NCI). If not specified, a unique value for the DU is automatically derived. Supported: [0 - 16383].
dl_arfcn: 536020 # Required UINT (536020). Sets the Downlink ARFCN.
band: auto # Optional TEXT (auto). Sets the NR band being used for the cell. If not specified, will be set automatically based on ARFCN. Supported: all release 17 bands.
common_scs: 15 # Required UINT (15). Sets the subcarrier spacing in KHz to be used by the cell. Supported: [15, 30].
channel_bandwidth_MHz: 20 # Required UINT (20). Sets the channel Bandwidth in MHz, the number of PRBs will be derived from this. Supported: [5, 10, 15, 20, 25, 30, 40, 50, 60, 70, 80, 90, 100].
nof_antennas_dl: 1 # Optional UINT (1). Sets the number of antennas for downlink transmission. Supported: [1, 2, 4].
nof_antennas_ul: 1 # Optional UINT (1). Sets the number of antennas for uplink transmission. Supported: [1, 2, 4].
plmn: 00101 # Required TEXT (00101). Sets the Public Land Mobile Network code. Format: 7-digit PLMN code containing MCC & MNC.
tac: 7 # Required UINT (7). Sets the Tracking Area Code.
enabled: true # Optional BOOLEAN (true). Sets whether the cell is enabled on start-up or not. Supported: [false, true].
q_rx_lev_min: -70 # Optional INT (-70). Sets the required minimum received RSRP level for cell selection/re-selection, in dBm. Supported: [-70 - -22].
q_qual_min: -20 # Optional INT (-20). Sets the required minimum received RSRQ level for cell selection/re-selection, in dB. Supported: [-43 - -12].
pcg_p_nr_fr1: 10 # Optional INT (10). Sets the maximum total TX power to be used by the UE in this NR cell group across in FR1. Supported: [-30 - +23].
slicing: # Optional TEXT. Configure network slicing options. This can only be set via the configuration file.
- # Configure Slice 1
sst: 1 # Optional UINT (1). Sets the Slice Service Type. Supported: [0 - 255].
sd: 0 # Optional UINT (0). Sets the Service Differentiator. Supported: [0-16777215].
sched_cfg: # Scheduler configuration for the slice
min_prb_policy_ratio: 0 # Optional UINT (0). Sets the minimum percentage of PRBs to be allocated to the slice. Supported [0 - 100].
max_prb_policy_ratio: 100 # Optional UINT (100). Sets the maximum percentage of PRBs to be allocated to the slice. Supported [1 - 100].
mac_cell_group:
bsr_cfg: # Buffer status report configuration parameters
periodic_bsr_timer: 10 # Optional UINT (10). Sets the periodic Buffer Status Report Timer value in nof. subframes. Value 0 equates to infinity. Supported: [1, 5, 10, 16, 20, 32, 40, 64, 80, 128, 160, 320, 640, 1280, 2560, 0].
retx_bsr_timer: 80 # Optional UINT (80). sets the retransmission Buffer Status Report Timer value in nof. subframes. Supported: [10, 20, 40, 80, 160, 320, 640, 1280, 2560, 5120, 10240].
lc_sr_delay_timer: # Optional UINT. Sets the Logical Channel SR delay timer in nof. subframes. Supported: [20, 40, 64, 128, 512, 1024, 2560].
phr_cfg: # Power Headroom report configuration parameters
phr_prohibit_timer: 10 # Optional UINT (10). Sets the PHR prohibit timer in nof. subframes. Supported: [0, 10, 20, 50, 100, 200, 500, 1000].
sr_cfg: # Scheduling Request configuration parameters
sr_trans_max: 64 # Optional UINT (64). Sets the maximum number of SR transmissions. Supported: [4, 8, 16, 32, 64].
sr_prohibit_timer: # Optional TEXT. Sets the timer for SR transmission on PUCCH in ms. Supported: [1, 2, 4, 8, 16, 32, 64, 128].
ssb:
ssb_period: 10 # Optional UINT (10). Sets the period of SSB scheduling in milliseconds. Supported: [5, 10, 20].
ssb_block_power_dbm: -16 # Optional INT (-16). Sets the SS PBCH block power in dBm. Supported: [-60 - +50].
pss_to_sss_epre_db: 0 # Optional UINT (0). Sets the Synchronization Signal Block Primary Synchronization Signal to Secondary Synchronization Signal Energy Per Resource Element ratio in dB. Supported: [0, 3].
sib:
si_window_length: 160 # Optional UINT (160). Sets the length of the SI scheduling window, in slots. It must be always shorter or equal to the period of the SI message. Supported: [5,10,20,40,80,160,320,640,1280].
si_sched_info: # Optional TEXT. Configures the scheduling for each of the SI-messages broadcast by the gNB.
t300: 1000 # Optional UINT (1000). Sets the RRC Connection Establishment timer in ms. The timer starts upon transmission of RRCSetupRequest. Supported: [100,200,300,400,600,1000,1500,2000].
t301: 1000 # Optional UINT (1000). Sets the RRC Connection Re-establishment timer in ms. The timer starts upon transmission of RRCReestablishmentRequest. Supported: [100,200,300,400,600,1000,1500,2000].
t310: 1000 # Optional UINT (1000). Sets the Out-of-sync timer in ms. The timer starts upon detecting physical layer problems for the SpCell i.e. upon receiving N310 consecutive out-of-sync indications from lower layers. Supported: [0,50,100,200,500,1000,2000].
n310: 1 # Optional UINT (1). Sets the Out-of-sync counter. The counter is increased upon reception of "out-of-sync" from lower layer while the timer T310 is stopped. Starts the timer T310, when configured value is reached. Supported: [1,2,3,4,6,8,10,20].
t311: 3000 # Optional UINT (3000). Sets the RRC Connection Re-establishment procedure timer in ms. The timer starts upon initiating the RRC connection re-establishment procedure. Supported: [1000,3000,5000,10000,15000,20000,30000].
n311: 1 # Optional UINT (1). Sets the In-sync counter. The counter is increased upon reception of the "in-sync" from lower layer while the timer T310 is running. Stops the timer T310, when configured value is reached.Supported: [1,2,3,4,5,6,8,10].
t319: 1000 # Optional UINT (1000). Sets the RRC Connection Resume timer in ms. The timer starts upon transmission of RRCResumeRequest or RRCResumeRequest1. Supported: [100,200,300,400,600,1000,1500,2000].
etws:
message_id: 4356 # Optional UINT (4356). Sets the ETWS message ID. Supported: [0 - 65535].
serial_num: 1288 # Optional UINT (1228). Sets the ETWS serial number. Supported: [0 - 65535].
warning_type: 2432 # Optional UINT (2432). Sets the ETWS warning type. Supported: [0 - 65535].
data_coding_scheme: 0 # Optional UINT (0). Sets the ETWS data coding scheme. Supported: [0 - 255].
warning_message: # Optional TEXT. Sets the ETWS warning message. Max length and character support depends on the chosen coding scheme.
cmas:
message_id: 4370 # Optional UINT (4370). Sets the CMAS message ID. Supported: [0 - 65535].
serial_num: 12291 # Optional UINT (12291). Sets the CMAS serial number. Supported: [0 - 65535].
data_coding_scheme: 0 # Optional UINT (0). Sets the CMAS data coding scheme. Supported: [0 - 255].
warning_message: # Optional TEXT. Sets the CMAS warning message. Max length and character support depends on the chosen coding scheme.
ul_common:
p_max: # Optional TEXT. Sets maximum transmit power allowed in this serving cell. Supported: [-30 - +23].
max_pucchs_per_slot: 31 # Optional INT (31). Sets the maximum number of PUCCH grants that can be allocated per slot. Supported: [1 - 64].
max_ul_grants_per_slot: 32 # Optional INT (32). Sets the maximum number of UL grants that can be allocated per slot. Supported: [1 - 80].
pdcch:
common:
coreset0_index: # Optional INT. Sets the CORESET 0 index. Supported: [0 - 15].
ss1_n_candidates: [0, 0, 1, 0, 0] # Optional UINT ([0, 0, 1, 0, 0]). Sets the number of PDCCH candidates per aggregation level for SearchSpace#1. Supported: any 5 value array containing the following UINT values [0, 1, 2, 3, 4, 5, 6, 7, 8].
ss0_index: 0 # Optional UINT (0). Sets the SearchSpace#0 index. Supported: [0 - 15].
max_coreset0_duration: # Optional INT. Sets the maximum CORESET#0 duration in OFDM symbols to consider when deriving CORESET#0 index. Supported: [1 - 2].
dedicated:
coreset1_rb_start: 1 # Optional INT. Sets the starting common resource block (CRB) number for CORESET 1, relative to CRB0. Supported: [0 - 275].
coreset1_l_crb: # Optional INT (Across entire BW of cell). Sets the length of CORESET 1 in number of CRBs. Supported: [0 - 275].
coreset1_duration: # Optional INT (Max(2, Nof. CORESET#0 symbols)). Sets the duration of CORESET 1 in number of OFDM symbols. Supported: [1 - 2].
ss2_n_candidates: [0, 0, 0, 0, 0] # Optional UINT ([0, 0, 0, 0, 0]). Sets the number of PDCCH candidates per aggregation level for SearchSpace#2. An all-zero array lets the gNB decide nof. candidates for SS#2. Supported: any 5 value array containing the following UINT values [0, 1, 2, 3, 4, 5, 6, 7, 8].
dci_format_0_1_and_1_1: true # Optional BOOLEAN (true). Sets whether to use non-fallback or fallback DCI format in UE SearchSpace#2. Supported: [false, true].
ss2_type: ue_dedicated # Optional TEXT (ue_dedicated). Sets the SearchSpace type for UE dedicated SearchSpace#2. Supported: [common, ue_dedicated].
al_cqi_offset: 0 # Optional FLOAT (0). Offset to apply to the CQI value used in the PDCCH aggregation level calculation. Format: [-15 - 15]
pdsch:
min_ue_mcs: 0 # Optional UINT (0). Sets a minimum PDSCH MCS value to be used for all UEs. Supported: [0 - 28].
max_ue_mcs: 28 # Optional UINT (28). Sets a maximum PDSCH MCS value to be used for all UEs. Supported: [0 - 28].
fixed_rar_mcs: 0 # Optional UINT (0). Sets a fixed RAR MCS value for all UEs. Supported: [0 - 28].
fixed_sib1_mcs: 5 # Optional UINT (5). Sets a fixed SIB1 MCS for all UEs. Supported: [0 - 28].
nof_harqs: 16 # Optional UNIT (16). Sets the number of Downlink HARQ processes. Supported [2, 4, 6, 8, 10, 12, 16].
max_nof_harq_retxs: 4 # Optional UINT (4). Sets the maximum number times a DL HARQ can be retransmitted before it is discarded. Supported: [0 - 4].
harq_retx_timeout: 100 # Optional UINT (100). Maximum time, in milliseconds, between a HARQ NACK and the scheduler allocating the respective HARQ for retransmission. If this timeout is exceeded, the HARQ process is discarded. Format: [10 - 500]
max_consecutive_kos: 100 # Optional UINT (100). Sets the maximum number of consecutive HARQ-ACK KOs before an RLF is reported. Supported: [0 - inf].
rv_sequence: [0,2,3,1] # Optional UINT (0,2,3,1). Sets the redundancy version sequence to use for PDSCH. Supported: any combination of [0, 1, 2, 3].
mcs_table: qam64 # Optional TEXT (qam64). Sets the MCS table to use for PDSCH. Supported: [qam64, qam256].
min_rb_size: 1 # Optional UINT (1). Sets the minimum RB size for the UE PDSCH resource allocation. Supported: [1 - 275].
max_rb_size: 275 # Optional UINT (275). Sets the maximum RB size for the UE PDSCH resource allocation. Supported: [1 - 275].
start_rb: 0 # Optional UINT (0). Sets the start RB for resource allocation of UE PDSCHs. Supported [0 - 275].
end_rb: 275 # Optional UINT (275). Sets the end RB for resource allocation of UE PDSCHs. Supported [0 - 275].
max_pdschs_per_slot: 35 # Optional UINT (35). Sets the maximum number of PDSCH grants per slot, including SIB, RAR, Paging and UE data grants. Supported: [1 - 35].
max_alloc_attempts: 35 # Optional UINT (35). Sets the maximum number of DL or UL PDCCH grant allocation attempts per slot before scheduler skips the slot. Supported: [1 - 35].
nof_preselected_newtx_ues: 32 # Optional UINT (32). Number of UEs pre-selected for a potential DL newTx allocation in a slot. Format: [1 - 1024]
newtx_ues_selection_period: 3 # Optional UINT (3). Number of slots between each computation of newTx UE candidates for potential allocation in a slot. Format: [1 - 1024]
olla_cqi_inc_step: 0.001 # Optional FLOAT (0.001). Sets the outer-loop link adaptation (OLLA) increment value. The value 0 means that OLLA is disabled. Supported: [0 - 1].
olla_target_bler: 0.01 # Optional FLOAT (0.01). Sets the target DL BLER set in Outer-loop link adaptation (OLLA) algorithm. Supported: [0 - 0.5].
olla_max_cqi_offset: 4 # Optional FLOAT (4). Sets the maximum offset that the Outer-loop link adaptation (OLLA) can apply to CQI. Supported: positive float.
dc_offset: # Optional TEXT. Sets the direct Current (DC) Offset in number of subcarriers, using the common SCS as reference for carrier spacing, and the center of the gNB DL carrier as DC offset value 0. The user can additionally
# set "outside" to define that the DC offset falls outside the DL carrier or "undetermined" in the case the DC offset is unknown. Supported: [-1650 - 1649] OR [outside,undetermined,center].
harq_la_cqi_drop_threshold: 3 # Optional UINT (3). Sets the link Adaptation (LA) threshold for drop in CQI of the first HARQ transmission above which HARQ retransmissions are cancelled. Set this value to 0 to disable this feature. Supported: [0 - 15].
harq_la_ri_drop_threshold: 1 # Optional UINT (1). Sets the link Adaptation (LA) threshold for drop in nof. layers of the first HARQ transmission above which HARQ retransmission is cancelled. Set this value to 0 to disable this feature. Supported: [0 - 4].
dmrs_additional_position: 2 # Optional UINT (2). Sets the PDSCH DMRS additional position. Supported: [0 - 3].
interleaving_bundle_size: # Optional ENUM. PDSCH interleaving bundle size. Supporte
pusch:
min_ue_mcs: 0 # Optional UINT (0). Sets a minimum PUSCH MCS value to be used for all UEs. Supported: [0 - 28].
max_ue_mcs: 28 # Optional UINT (28). Sets a maximum PUSCH MCS value to be used for all UEs. Supported: [0 - 28].
max_nof_harq_retxs: 4 # Optional UINT (4). Maximum number of times a UL HARQ can be retransmitted, before it gets discarded. Format: [0 - 64]
harq_retx_timeout: 100 # Optional UINT (100). Maximum time, in milliseconds, between a CRC=KO and the scheduler allocating the respective HARQ for retransmission. If this timeout is exceeded, the HARQ process is discarded. Format: [10 - 500]
max_consecutive_kos: 100 # Optional UINT (100). Sets the maximum number of consecutive CRC KOs before an RLF is reported. Supported: [0 - inf].
rv_sequence: [0] # Optional UINT (0). Sets the redundancy version sequence to use for PUSCH. Supported: any combination of [0, 1, 2, 3].
mcs_table: qam64 # Optional TEXT (qam64). Sets the MCS table to use for PUSCH. Supported: [qam64, qam256].
max_rank: 4 # Optional UINT (4). Sets the maximum number of PUSCH transmission layers. The actual maximum is limited by the number of receive ports and UE capabilities. Supported: [0 - 4].
msg3_delta_preamble: 6 # Optional INT (6). Sets the MSG3 DeltaPreamble power offset between MS3 and RACH preamble transmission. Supported: [-1 - 6].
p0_nominal_with_grant: -76 # Optional INT (-76). Sets the P0 value for PUSCH grant (except MSG3), in dBm. Supported: multiples of 2 within the range [-202, 24].
msg3_delta_power: 8 # Optional INT (8). Sets the target power level at the network receiver side, in dBm. Supported: multiples of 2 within the range [-6, 8].
max_puschs_per_slot: 16 # Optional UINT (16). Sets the maximum number of PUSCH grants per slot. Supprted: [1 - 16].
nof_preselected_newtx_ues: 32 # Optional UINT (32). Number of UEs pre-selected for a potential UL newTx allocation in a slot. Format: [1 - 1024]
newtx_ues_selection_period: 1 # Optional UINT (1). Number of slots between each computation of newTx UE candidates for potential allocation in a slot. Format: [1 - 1024]
beta_offset_ack_idx_1: 9 # Optional UINT (9). Sets the betaOffsetACK-Index1 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_ack_idx_2: 9 # Optional UINT (9). Sets the betaOffsetACK-Index2 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_ack_idx_3: 9 # Optional UINT (9). Sets the betaOffsetACK-Index3 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_csi_p1_idx_1: 9 # Optional UINT (9). Sets the b_offset_csi_p1_idx_1 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_csi_p1_idx_2: 9 # Optional UINT (9). Sets the b_offset_csi_p1_idx_2 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_csi_p2_idx_1: 9 # Optional UINT (9). Sets the b_offset_csi_p2_idx_1 part of UCI-OnPUSCH. Supported: [0 - 31].
beta_offset_csi_p2_idx_2: 9 # Optional UINT (9). Sets the b_offset_csi_p2_idx_2 part of UCI-OnPUSCH. Supported: [0 - 31].
min_k2: 4 # Optional UINT (4). Sets the minimum value of K2 (difference in slots between PDCCH and PUSCH). Supported: [1 - 4].
dc_offset: # Optional TEXT. Sets the direct Current (DC) Offset in number of subcarriers, using the common SCS as reference for carrier spacing, and the center of the gNB UL carrier as DC offset value 0. The user can additionally
# set "outside" to define that the DC offset falls outside the DL carrier or "undetermined" in the case the DC offset is unknown. Supported: [-1650 - 1649] OR [outside,undetermined,center].
olla_snr_inc_step: 0.001 # Optional FLOAT (0.001). Sets the outer-loop link adaptation (OLLA) increment value. The value 0 means that OLLA is disabled. Supported: [0 - 1].
olla_target_bler: 0.01 # Optional FLOAT (0.01). Sets the target UL BLER set in Outer-loop link adaptation (OLLA) algorithm. sUPPORTED: [0 - 0.5].
olla_max_snr_offset: 5 # Optional FLOAT (5). Sets the maximum offset that the Outer-loop link adaptation (OLLA) can apply to estimate the UL SNR. Supported: positive float.
dmrs_additional_position: 2 # Optional UINT (2). Sets the PUSCH DMRS additional position. Supported: [0 - 3].
min_rb_size: 1 # Optional UINT (1). Sets the minimum RB size for the UE PUSCH resource allocation. Supported: [1 - 275].
max_rb_size: 275 # Optional UINT (275). Sets the maximum RB size for the UE PUSCH resource allocation. Supported: [1 - 275].
start_rb: 0 # Optional UINT (0). Sets the start RB for resource allocation of UE PUSCHs. Supported: [0 - 275].
end_rb: 275 # Optional UINT (275). Sets the end RB for resource allocation of UE PUSCHs. Supported: [0 - 275].
enable_cl_loop_pw_control: false # Optional BOOLEAN (false). Enables the closed-loop power control for PUSCH. Supported: [false, true].
enable_phr_bw_adaptation: false # Optional BOOLEAN (false). Enable bandwidth adaptation to prevent negative PHR. Supported: [false, true]
target_sinr: 10 # Optional FLOAT (10). Sets the target SINR in dB. Supported: [-5 - 30].
ref_path_loss: 70 # Optional FLOAT (70). Sets the reference path-loss for target PUSCH SINR in dB. Supported: [50 - 120].
pl_compensation_factor: 1 # Optional FLOAT (1). Sets the fractional path-loss compensation factor in PUSCH power control. Supported: [0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1].
enable_transform_precoding: false # Optional BOOLEAN (false). Enables transform precoding for PUSCH. Supported: [false, true]
pucch:
p0_nominal: -90 # Optional UINT (-90). Sets the power control parameter P0 for PUCCH transmissions in dBm. Supported: multiples of 2 and within the [-202, 24] interval.
pucch_resource_common: 11 # Optional UINT (11). Index of PUCCH resource set for the common configuration. Supported: [0 - 15].
sr_period_ms: 20 # Optional UINT (20). Sets the SR period in milliseconds. Supported: [1,2,4,8,10,16,20,40,80,160,320].
use_format_0: false # Optional BOOLEAN (false). Enables the use of Format 0 for PUCCH resources from resource set 0. Supported: [false, true].
pucch_set1_format: 2 # Optional UINT (2). Sets the PUCCH format for PUCCH resource set 1. Supported: [2, 3, 4].
nof_ue_res_harq_per_set: 8 # Optional UINT (8). Sets the number of PUCCH resources available per UE for HARQ for each PUCCH resource set. Supported: [1 - 8].
f0_or_f1_nof_cell_res_sr: 8 # Optional UINT (8). Sets the number of PUCCH F0 or F1 resources available per cell for SR. Supported: [1 - 50].
f0_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F0. Supported: [false, true].
f1_enable_occ: false # Optional BOOLEAN (false). Enables OCC for PUCCH F1. Supported: [false, true].
f1_nof_cyclic_shifts: 2 # Optional UINT (2). Sets the number of possible cyclic shifts available for PUCCH F1 resources. Supported: [1,2,3,4,6,12].
f1_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F1. Supported: [false, true].
nof_cell_harq_pucch_res_sets: 2 # Optional UINT (2). Sets the number of separate PUCCH resource sets for HARQ-ACK that are available in the cell. The higher the number of sets, the lower the chances UEs have to share the same PUCCH resources. Supported: [1 - 10].
f2_or_f3_or_f4_nof_cell_res_csi: 8 # Optional UINT (8). Sets the number of PUCCH F2, F3 or F4 resources available per cell for CSI. Supported: [0 - 100].
f2_max_nof_rbs: 1 # Optional UINT (1). Sets the max number of RBs for PUCCH F2 resources. Supported: [1 - 16].
f2_max_payload: # Optional INT. Sets the max number of payload bits for PUCCH F2 resources. Supported [1 - 11].
f2_max_code_rate: dot35 # Optional TEXT (dot35). Sets the PUCCH F2 max code rate. Supported: [dot08, dot15, dot25, dot35, dot45, dot60, dot80].
f2_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F2. Supported: [false, true].
f3_max_nof_rbs: 1 # Optional UINT (1). Sets the max number of RBs for PUCCH F3 resources. Supported: [1 - 16].
f3_max_payload: # Optional INT. Sets the max number of payload bits for PUCCH F3 resources. Supported [1 - 11].
f3_max_code_rate: dot35 # Optional TEXT (dot35). Sets the PUCCH F3 max code rate. Supported: [dot08, dot15, dot25, dot35, dot45, dot60, dot80].
f3_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F3. Supported: [false, true]
f3_additional_dmrs: false # Optional BOOLEAN (false). Enables additional DMRS for PUCCH F3. Supported: [false, true].
f3_pi2_bpsk: false # Optional BOOLEAN (false). Enables pi/2 BPSK for PUCCH F3. Supported: [false, true].
f4_max_code_rate: dot35 # Optional TEXT (dot35). Sets the PUCCH F4 max code rate. Supported: [dot08, dot15, dot25, dot35, dot45, dot60, dot80].
f4_intraslot_freq_hop: false # Optional BOOLEAN (false). Enables intra-slot frequency hopping for PUCCH F4. Supported: [false, true].
f4_additional_dmrs: false # Optional BOOLEAN (false). Enables additional DMRS for PUCCH F4. Supported: [false, true].
f4_pi2_bpsk: false # Optional BOOLEAN (false). Enables pi/2 BPSK for PUCCH F4. Supported: [false, true].
f4_occ_length: 2 # Optional UINT (2). Sets the OCC length for PUCCH F4. Supported: [1 - 4].
min_k1: 4 # Optional UINT (4). Sets the minimum value of K1 (difference in slots between PDSCH and HARQ-ACK). Lower k1 values will reduce latency, but place a stricter requirement on the UE decode latency. Supported: [1 - 4].
max_consecutive_kos: 100 # Optional UINT (100). Sets the maximum number of consecutive undecoded PUCCH F2 for CSI before an Radio Link Failure is reported.
enable_cl_loop_pw_control: false # Optional BOOLEAN (false). Enables the closed-loop power control for PUCCH. Supported: [false, true].
target_sinr_f0: 10 # Optional FLOAT (10). Sets the target SINR for PUCCH F0 in dB. Supported: [-10 - 20].
target_sinr_f2: 6 # Optional FLOAT (6). Sets the target SINR for PUCCH F2 in dB. Supported: [-10 - 20].
target_sinr_f3: 1 # Optional FLOAT (1). Sets the target SINR for PUCCH F3 in dB. Supported: [-15 - 10].
srs:
srs_period_ms: # Optional FLOAT. Sets the periodic SRS period in ms. The SRS period needs to be compatible with the subcarrier spacing. Supported: {1,2,2.5,4,5,8,10,16,20,32,40,64,80,160,320,640,1280,2560}.
srs_max_nof_sym_per_slot: 2 # Optional UINT (2). Sets the number of symbols for UL slot that are reserved for the SRS cell resources. Supprted: [1 - 6].
srs_nof_sym_per_resource: 1 # Optional UINT (2). Sets the number of symbols per SRS resource. Supported: {1,2,4}.
srs_tx_comb: 4 # Optional UINT (4). Sets the SRS TX comb size. Supported: {2, 4}.
srs_cyclic_shift_reuse: 1 # Optional UINT (1). Sets the SRS cyclic shift reuse factor. It needs to be compatible with the TX comb and number of UL antenna ports. Supported: {1,2,3,4,6}.
srs_sequence_id_reuse: 1 # Optional UINT (1). Sets the reuse factor for the SRS sequence ID. Supported: {1,2,3,5,6,10,15,30}.
prach:
prach_config_index: # Optional UINT. Sets the PRACH configuration index. If not set, the value is derived, so that the PRACH fits in an UL slot. Supported: [0 - 255].
prach_root_sequence_index: 1 # Optional UINT (1). Sets the PRACH Roost Sequence Index (RSI), which determines the Zadoff-Chu (ZC) sequence used. Supported: [0 - 837]. If the PRACH configuration index is larger than 86, you cannot set a PRACH RSI of more than 137.
zero_correlation_zone: 0 # Optional UINT (0). Sets the Zero Correlation Zone, which determines the size of the cyclic shift and the number of preamble sequences which can be generated from each Root Sequence Index. Supported: [0 - 15].
fixed_msg3_mcs: 0 # Optional UINT (0). Sets a fixed Msg3 MCS. Supported: [0 - 28].
max_msg3_harq_retx: 4 # Optional UINT (4). Sets the maximum number of Msg3 HARQ retransmissions. Supported: [0 - 4].
total_nof_ra_preambles: # Optional TEXT. Sets the number of different PRACH preambles. Supported: [1 - 64].
cfra_enabled: false # Optional BOOLEAN (false). Enables Contention Free Random Access (CFRA). If enabled, total_nof_ra_preambles must be lower than 64. Supported: [false, true].
prach_frequency_start: # Optional INT. Set Offset of lowest PRACH transmission occasion in frequency domain respective to PRB 0, in PRBs. Supported: [0 - (MAX_NOF_PRB - 1)].
preamble_rx_target_pw: -100 # Optional INT (-100). Sets the Target power level at the network receiver side, in dBm. Supported: multiples of 2 within range [-202, -60].
preamble_trans_max: 7 # Optional UINT (7). Sets the max number of RA preamble transmissions performed before declaring a failure. Supported: [3, 4, 5, 6, 7, 8, 10, 20, 50, 100, 200].
power_ramping_step_db: 4 # Optional UINT (4). Sets the power ramping steps for PRACH. Supported: [0, 2, 4 , 6].
ports: 0 # Optional UINT (0). Sets the list of atenna ports. Expected value is a UINT string of antenna port IDs.
nof_ssb_per_ro: 1 # Optional FLOAT (1). Sets the number of SSBs per RACH occasion. Supported: [1/8, 1/4, 1/2, 1, 2, 4, 8, 16].
nof_cb_preambles_per_ssb: 4 # Optional UINT (4). Sets the number of contention based preambles per SSB. Supported: [1 - 64].
ra_resp_window: # Optional UINT. Sets the RA-response window length in number of slots. Supported: {1, 2, 4, 8, 10, 20, 40, 80}.
tdd_ul_dl_cfg:
dl_ul_tx_period: 10 # Optional INT (10). Sets the TDD pattern periodicity in slots. The combination of this value and the chosen numerology must lead to a TDD periodicity of 0.5, 0.625, 1, 1.25, 2, 2.5, 3, 4, 5 or 10 milliseconds. Supported: [2 - 80].
nof_dl_slots: 6 # Optional INT (6). Number of consecutive full Downlink slots. Supported: [0-80].
nof_dl_symbols: 8 # Optional INT (8). Number of Downlink symbols at the beginning of the slot following full Downlink slots. Supported: [0-13].
nof_ul_slots: 3 # Optional INT (3). Number of consecutive full Uplink slots. Supported: [0 - 80].
nof_ul_symbols: 0 # Optional INT (0). Number of Uplink symbols at the end of the slot preceding the first full Uplink slot. Supported: [0-13].
pattern2:
dl_ul_tx_period: 10 # Optional INT (10). Sets the TDD pattern periodicity in slots. The combination of this value and the chosen numerology must lead to a TDD periodicity of 0.5, 0.625, 1, 1.25, 2, 2.5, 3, 4, 5 or 10 milliseconds. Supported: [2 - 80].
nof_dl_slots: 6 # Optional INT (6). Number of consecutive full Downlink slots. Supported: [0-80].
nof_dl_symbols: 8 # Optional INT (8). Number of Downlink symbols at the beginning of the slot following full Downlink slots. Supported: [0-13]
nof_ul_slots: 3 # Optional INT (3). Number of consecutive full Uplink slots. Supported: [0 - 80].
nof_ul_symbols: 0 # Optional INT (0). Number of Uplink symbols at the end of the slot preceding the first full Uplink slot. Supported: [0-13].
paging:
pg_search_space_id: 1 # Optional UINT (1). Sets the SearchSpace to use for Paging. Supported: [false, true].
default_pg_cycle_in_rf: 128 # Optional UINT (128). Sets the default Paging cycle in nof. Radio Frames. Supported: [32,64,128,256].
nof_pf_per_paging_cycle: oneT # Optional TEXT (oneT). Sets the number of paging frames per DRX cycle. Supported: [oneT, halfT, quarterT, oneEighthT, oneSixteethT].
pf_offset: 0 # Optional UINT (0). Sets the paging frame offset. Supported: [0 - (nof_pf_per_paging_cycle - 1)].
nof_po_per_pf: 1 # Optional UINT (1). Sets the number of paging occasions per paging frame. Supported: [1, 2, 4].
csi:
csi_rs_enabled: true # Optional BOOLEAN (true). Enables CSI-RS resources and CSI reporting. Supported: [false, true].
csi_rs_period: 20 # Optional UINT (20). Sets the CSI-RS period in milliseconds. Supported: [10, 20, 40, 80].
meas_csi_rs_slot_offset: # Optional UINT. Sets the slot offset of first CSI-RS resource used for measurement.
tracking_csi_rs_slot_offset: # Optional UINT. Sets the slot offset of the first CSI-RS resource used for tracking.
zp_csi_rs_slot_offset: # Optional UINT. Sets the slot offset of the ZP CSI-RS resources.
pwr_ctrl_offset: 0 # Optional INT (0). Sets the power offset of PDSCH RE to NZP CSI-RS RE in dB. Supported: [-8 - 15].
sched_expert_cfg:
policy_sched_cfg:
qos_sched:
qos_weight_function: gbr_prioritized # Optional TEXT (gbr_prioritized). Sets the QoS weight function to use in the QoS scheduler. Supported: [gbr_prioritized, multivariate].
pf_fairness_coeff: 2 # Optional FLOAT [2]. Sets the fairness Coefficient to use in Proportional Fair policy scheduler.
prio_enabled: true # Optional BOOLEAN (true). Sets whether or not to take into account the QoS Flow priority in QoS-aware scheduling. Supported: [false, true].
pdb_enabled: true # Optional BOOLEAN (true). Sets whether or not to take into account the Packet Delay Budget (PDB) in QoS-aware scheduling. Supported: [false, true].
gbr_enabled: true # Optional BOOLEAN (true). Sets whether or not to take into account the Guaranteed Bit Rate (GBR) in QoS-aware scheduling. Supported: [false, true].
ta_sched_cfg:
ta_measurement_slot_period: 80 # Optional UINT (80). Sets the measurements periodicity in nof. slots over which the new Timing Advance Command is computed.
ta_measurement_slot_prohibit_period: 0 # Optional UINT (0). Sets the delay in number of slots between issuing the TA_CMD and starting TA measurements. Supported: [0 - 10000].
ta_cmd_offset_threshold: 1 # Optional INT (1). Sets the timing Advance Command (T_A) offset threshold above which Timing Advance Command is triggered. If set to less than zero, issuing of TA Command is disabled. Supported: [-1 - 31].
ta_target: 1 # Optional INT (1). Sets the timing advance target in units of TA. Supported: [-30 - 30].
ta_update_measurement_ul_sinr_threshold: 0 # Optional FLOAT (0). Sets the UL SINR threshold (in dB) above which reported N_TA update measurement is considered valid.
drx:
on_duration_timer: 10 # Optional UINT (10). Minimum duration in milliseconds that the UE stays in active mode, when DRX is configured. Supported: {1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200,300,400,500,600,800,1000,1200,1600}
inactivity_timer: 0 # Optional UINT (0). Duration in milliseconds that the UE stays active after PDCCH reception, when DRX is configured. Supported: {0,1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200,300,500,750,1280,1920,2560}
retx_timer_dl: 0 # Optional UINT (0). Maximum duration in slots until a DL ReTX is received by the UE, when DRX is configured. Supported: {0,1,2,4,6,8,16,24,33,40,64,80,96,112,128,160,320}
retx_timer_ul: 0 # Optional UINT (0). Maximum duration in slots until a grant for UL ReTX is received by the UE, when DRX is configured. Supported: {0,1,2,4,6,8,16,24,33,40,64,80,96,112,128,160,320}
long_cycle: 0 # Optional UINT (0). Duration in milliseconds between UE DRX long cycles. The value 0 is used to disable DRX. Supported: {10,20,32,40,60,64,70,80,128,160,256,320,512,640,1024,1280,2048,2560,5120,10240} OR {0}
fapi:
l2_nof_slots_ahead: 0 # Optional UINT (0). Sets the number of slots the L2 is running ahead of the L1. Supported: [0 - 5].
ru_ofh:
# Many of the following values are optional as they have default values. In practice, all of the following parameters should be defined by the user, as they will need
# to be configured specifically for the RU being used. Failing to configure this parameters correctly may result in the RU failing to connect correctly to the DU.
gps_alpha: 0 # Optional FLOAT (0). Sets the GPS alpha. Supported: [0 - 1.2288e+07].
gps_beta: 0 # Optional INT (0). Sets the GPS beta. Supported: [-32768 - +32767].
ru_bandwidth_MHz: <cell bandwidth> # Optional UINT (<cell bandwidth>). Sets the channel bandwidth in MHz. Supported: [5,10,15,20,25,30,40,50,60,70,80,90,100].
t1a_max_cp_dl: 500 # Optional INT (500). Sets T1a maximum value for downlink control-plane. Supported: [0 - 1960].
t1a_min_cp_dl: 258 # Optional INT (258). Sets T1a minimum value for downlink control-plane. Supported: [0 - 1960].
t1a_max_cp_ul: 500 # Optional INT (500). Sets T1a maximum value for uplink control-plane. Supported: [0 - 1960].
t1a_min_cp_ul: 258 # Optional INT (258). Sets T1a minimum value for uplink control-plane. Supported: [0 - 1960].
t1a_max_up: 300 # Optional INT (300).Sets T1a maximum value for user-plane. Supported: [0 - 1960].
t1a_min_up: 85 # Optional INT (85). Sets T1a minimum value for user-plane. Supported: [0 - 1960].
ta4_max: 500 # Optional UINT (500). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
ta4_min: 85 # Optional UINT (85). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
is_prach_cp_enabled: true # Optional BOOLEAN (true). Sets PRACH control-plane enabled flag. Supported: [false, true].
ignore_ecpri_seq_id: false # Optional BOOLEAN (false). Sets whether or not to ignore eCPRI sequence ID field value. Supported [false, true].
ignore_ecpri_payload_size: false # Optional BOOLEAN (false). Sets whether or not to ignore eCPRI payload size field value. Supported [false, true].
ignore_prach_start_symbol: false # Optional BOOLEAN (false). Sets whether or not to ignore PRACH start symbol in PRACH U-Plane Packets. Supported [false, true].
log_lates_as_warnings: true # Optional BOOLEAN (true). Sets the log late events as warnings.
warn_unreceived_ru_frames: after_traffic_detection # Optional TEXT (after_traffic_detection). Sets whether or not to send a warning when there are unreceived Radio Unit frames. Supported: [never, always, after_traffic_detection].
compr_method_ul: bfp # Optional TEXT (bfp). Sets the uplink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_ul: 9 # Optional UINT (9). Sets the uplink compression bit width. Supported: [1 - 16].
compr_method_dl: bfp # Optional TEXT (bfp). Sets the downlink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_dl: 9 # Optional UINT (9). Sets the downlink compression bit width. Supported: [1 - 16].
compr_method_prach: bfp # Optional TEXT (bfp). Sets the PRACH compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_prach: 9 # Optional UINT (9). Sets the PRACH compression bit width. Supported [1 - 16].
enable_ul_static_compr_hdr: true # Optional BOOLEAN (true). Uplink static compression header enabled flag. Supported: [false, true].
enable_dl_static_compr_hdr: true # Optional BOOLEAN (true). Downlink static compression header enabled flag. Supported: [false, true].
ru_reference_level_dBFS: -12 # Optional FLOAT (-12). RU IQ reference level mapped to the maximum RF power. Supported: ($-\infty$ - 0]
subcarrier_rms_backoff_dB: 0 # Optional FLOAT (0). Power back-off attenuation applied to all subcarriers with respect to the RU reference level. Supported: [0, $\infty$)
iq_scaling: 0.1 # Optional FLOAT (0.1). Sets the IQ scaling factor. This is an alternative to ru_reference_level_dBFS. Supported: [0 - 100].
cplane_prach_fft_len: 4096 # Optional UINT (4096). PRACH FFT length (used in C-Plane Type-3 messages). Supported: [128, 256, 512, 1024, 1536, 2048, 3072, 4096].
cells: # Optional TEXT. Sets the hardware specific cell configuration on a per cell basis.
- # Cell 1 - set custom configuration for each cell
network_interface: enp1s0f0 # Optional TEXT (enp1s0f0). Sets the ethernet network interface name for the RU or PCIe identifier when using DPDK. Format: a string, e.g. [interface_name].
enable_promiscuous: false # Optional BOOLEAN (false). Enables promiscuous mode flag.
check_link_status: false # Optional BOOLEAN (false). Ethernet link status checking flag.
mtu: 9000 # Optional UINT (9000). NIC interface MTU size. Supported: [1500 - 9600].
ru_mac_address: 70:b3:d5:e1:5b:06 # Optional TEXT (70:b3:d5:e1:5b:06). Sets the RU MAC address. Format: a string, e.g. [AA:BB:CC:DD:11:22:33].
du_mac_address: 00:11:22:33:00:77 # Optional TEXT (00:11:22:33:00:77). Sets the DU MAC address. Format: a string, e.g. [AA:BB:CC:DD:11:22:33].
vlan_tag_cp: 1 # Optional UINT (1). Sets the VLAN tag value for C-Plane. Outgoing Ethernet packets will not include a VLAN tag if the vlan_tag_cp and vlan_tag_up parameters are not set. Supported: [1 - 4094].
vlan_tag_up: 1 # Optional UINT (1). Sets the VLAN tag value for U-Plane. Outgoing Ethernet packets will not include a VLAN tag if the vlan_tag_cp and vlan_tag_up parameters are not set. Supported: [1 - 4094].
prach_port_id: [4] # Optional UINT (4). Sets the RU PRACH eAxC port ID. Supported: [0 - 65535].
dl_port_id: [0] # Optional UINT (0). Sets the RU downlink eAxC port ID. Format: vector containing all DL eAxC ports, e.g. [0, ...\ , N].
ul_port_id: [0] # Optional UINT (0). Sets the RU uplink eAxC port ID. Supported: [0 - 65535].
ru_bandwidth_MHz: <cell bandwidth> # Optional UINT (<cell bandwidth>). Sets the channel bandwidth in MHz. Supported: [5,10,15,20,25,30,40,50,60,70,80,90,100].
t1a_max_cp_dl: 500 # Optional INT (500). Sets T1a maximum value for downlink control-plane. Supported: [0 - 1960].
t1a_min_cp_dl: 258 # Optional INT (258). Sets T1a minimum value for downlink control-plane. Supported: [0 - 1960].
t1a_max_cp_ul: 500 # Optional INT (500). Sets T1a maximum value for uplink control-plane. Supported: [0 - 1960].
t1a_min_cp_ul: 258 # Optional INT (258). Sets T1a minimum value for uplink control-plane. Supported: [0 - 1960].
t1a_max_up: 300 # Optional INT (300).Sets T1a maximum value for user-plane. Supported: [0 - 1960].
t1a_min_up: 85 # Optional INT (85). Sets T1a minimum value for user-plane. Supported: [0 - 1960].
ta4_max: 500 # Optional UINT (500). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
ta4_min: 85 # Optional UINT (85). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
is_prach_cp_enabled: true # Optional BOOLEAN (true). Sets PRACH control-plane enabled flag. Supported: [false, true].
ignore_ecpri_seq_id: false # Optional BOOLEAN (false). Sets whether or not to ignore eCPRI sequence ID field value. Supported [false, true].
ignore_ecpri_payload_size: false # Optional BOOLEAN (false). Sets whether or not to ignore eCPRI payload size field value. Supported [false, true].
ignore_prach_start_symbol: false # Optional BOOLEAN (false). Sets whether or not to ignore PRACH start symbol in PRACH U-Plane Packets. Supported [false, true].
log_lates_as_warnings: true # Optional BOOLEAN (true). Sets the log late events as warnings.
warn_unreceived_ru_frames: after_traffic_detection # Optional TEXT (after_traffic_detection). Sets whether or not to send a warning when there are unreceived Radio Unit frames. Supported: [never, always, after_traffic_detection].
compr_method_ul: bfp # Optional TEXT (bfp). Sets the uplink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_ul: 9 # Optional UINT (9). Sets the uplink compression bit width. Supported: [1 - 16].
compr_method_dl: bfp # Optional TEXT (bfp). Sets the downlink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_dl: 9 # Optional UINT (9). Sets the downlink compression bit width. Supported: [1 - 16].
compr_method_prach: bfp # Optional TEXT (bfp). Sets the PRACH compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
compr_bitwidth_prach: 9 # Optional UINT (9). Sets the PRACH compression bit width. Supported [1 - 16].
enable_ul_static_compr_hdr: true # Optional BOOLEAN (true). Uplink static compression header enabled flag. Supported: [false, true].
enable_dl_static_compr_hdr: true # Optional BOOLEAN (true). Downlink static compression header enabled flag. Supported: [false, true].
ru_reference_level_dBFS: -12 # Optional FLOAT (-12). RU IQ reference level mapped to the maximum RF power. Supported: ($-\infty$ - 0]
subcarrier_rms_backoff_dB: 0 # Optional FLOAT (0). Power back-off attenuation applied to all subcarriers with respect to the RU reference level. Supported: [0, $\infty$)
iq_scaling: 0.1 # Optional FLOAT (0.1). Sets the IQ scaling factor. Supported: [0 - 100].
cplane_prach_fft_len: 4096 # Optional UINT (4096). PRACH FFT length (used in C-Plane Type-3 messages). Supported: [128, 256, 512, 1024, 1536, 2048, 3072, 4096].
ru_sdr:
srate: 61.44 # Required FLOAT (61.44). Sets the sampling rate of the RF-frontend in MHz.
device_driver: uhd # Required TEXT (uhd). RF device driver name. Supported: [uhd, zmq].
device_args: # Optional TEXT. An argument that gets passed to the selected RF driver.
tx_gain: 50 # Required FLOAT (50). Sets the transmit gain in dB. Supported: [0 - max value supported by radio].
rx_gain: 60 # Required FLOAT (60). Sets the receive gain in dB. Supported: [0 - max value supported by radio].
freq_offset: 0 # Optional FLOAT (0). Sets the frequency offset in Hertz.
clock_ppm: 0 # Optional FLOAT (0). Sets the clock calibration in Parts Per Million (PPM).
lo_offset: 0 # Optional FLOAT (0). Shifts the local oscillator frequency in MHz away from the center frequency to move LO leakage out of the channel.
clock: default # Optional TEXT (default). Specify the RF device clock source (i.e., 10MHz reference oscillator). Supported: [default, internal, external, gpsdo].
sync: default # Optional TEXT (default). Specify the RF device time synchronization source (i.e., 1PPS reference). Supported: [default, internal, external, gpsdo].
otw_format: default # Optional TEXT (default). Specific the over-the-wire format. Supported: [default, sc8, sc12, sc16].
time_alignment_calibration: auto # Optional TEXT (auto). Compensates for any reception and transmission time misalignment inherent to the RF device. Positive values reduce the RF transmission delay with respect to the RF reception. Negative values have the opposite effect.
start_time: # Optional TEXT (empty). Radio streaming start time with format %Y-%m-%d %H:%M:%S.
amplitude_control:
tx_gain_backoff: 12.0 # Optional FLOAT (12.0). Sets baseband gain back-off in dB. This accounts for the signal PAPR and is applied regardless of clipping settings. Format: positive float.
enable_clipping: false # Optional BOOLEAN (false). Sets clipping of the baseband samples on or off. If enabled, samples that exceed the power ceiling are clipped.
ceiling: -0.1 # Optional FLOAT (-0.1). Sets the power ceiling in dB, relative to the full scale amplitude of the radio. Format: negative float or 0.
expert_cfg:
low_phy_dl_throttling: 0 # Optional FLOAT (0). Throttles the lower PHY DL baseband generation. Setting to 0 disables throttling. Supported: any value in the range [0 - 1].
tx_mode: continuous # Optional TEXT (continuous). Selects a radio transmission mode. Discontinuous modes are not supported by all radios. Supported: [continuous, discontinuous, same-port]
power_ramping_time_us: 0 # Optional FLOAT (0). Specifies the power ramping time in microseconds, it proactively initiates the transmission and mitigates transient effects. It is recommended to configure this parameter carefully, taking into account the characteristics of the transmit chain in order to achieve optimal performance
ru_dummy:
dl_processing_delay: 1 # Optional UINT (1). Sets the downlink processing delay in number of slots.
time_scaling: 1 # Optional NONNEGATIVE FLOAT (1). Sets the time scaling factor applied to the slot duration. Must be greater than zero. A value greater than one slows down the RU, while a value between zero and one speeds it up. Supported [0 - inf].
expert_phy:
max_proc_delay: 5 # Optional INT (5). Sets the maximum allowed DL processing delay in slots. Supported: [1 - 30].
pusch_dec_max_iterations: 6 # Optional UINT (6). Sets the number of PUSCH LDPC decoder iterations. Format: Positive integer greater than 0.
pusch_dec_enable_early_stop: true # Optional BOOLEAN (true). Enables the PUSCH decoder early stopping mechanism.
pusch_decoder_force_decoding: false # Optional BOOLEAN (false). Set to true for forcing the LDPC decoder to decode inputs filled with zeros.
pusch_sinr_calc_method: post_equalization # Optional TEXT (evm). Sets the PUSCH SINR calculation method. Supported: [channel_estimator, post_equalization, evm].
pusch_channel_estimator_fd_strategy: filter # Optional TEXT (filter). Sets the PUSCH channel estimator frequency-domain strategy. Supported: [filter, mean, none].
pusch_channel_estimator_td_strategy: average # Optional TEXT (average). Sets the PUSCH channel estimator time-domain strategy. Supported: [average, interpolate].
pusch_channel_estimator_cfo_compensation: true # Optional BOOLEAN (true). Enables the PUSCH channel estimator CFO compensation. Supported: [false, true].
pusch_channel_equalizer_algorithm: zf # Optional TEXT (zf). Sets the PUSCH channel equalizer algorithm. Supported: [zf, mmse].
max_request_headroom_slots: 0 # Optional UINT (0). Sets the maximum request headroom size in slots. Supported: [0 - 3].
allow_request_on_empty_uplink_slot: false # Optional BOOLEAN (false). Allows uplink request on empty uplink slots (slots with no PUCCH/PUSHC/SRS PDUs).
enable_phy_tap: false # Optional BOOLEAN (false). Enables or disables the PHY tap plugin if it is present while building the application.
phy_tap_arguments: # Optional TEXT (empty). PHY tap plugin argument string passed during construction.
buffer_pool:
nof_segments: 1048576 # Optional UINT (1048576). Sets the number of segments allocated by the buffer pool.
segment_size: 2048 # Optional UINT (2048). Sets the size of each buffer pool segment in bytes.
expert_execution:
cell_affinities: # Optional TEXT. Sets the cell CPU affinities configuration on a per cell basis. Entry order is the same as the order in the defined cell list.
-
ru_cpus: # Optional TEXT. Sets the CPU core(s) used for the Radio Unit tasks. Supported: [1, 2, 3 , ..., N].
ru_pinning: # Optional TEXT. Sets the policy used for assigning CPU cores to Radio Unit tasks.
affinities:
ofh: # Optional TEXT Sets the CPU affinities configuration for RU cells tx-rx threads. Number of entries specified defines the number of tx-rx threads created. By default if no entries are specified, the number of tx-rx threads equals the number of RU cells.
timing_cpu: # Optional TEXT. Sets the CPU core(s) used for timing in the Radio Unit.
txrx_cpus: # Optional TEXT. List of CPU core(s) used for the Radio Unit tasks.
- <cpu set>
threads:
upper_phy:
pdsch_processor_type: auto # Optional TEXT (auto). Sets the PDSCH processor type. Supported: [auto, generic, flexible].
pdsch_cb_batch_length: 4 # Optional UINT (4). Sets PDSCH flexible processor clodeblock-batch size. Supported values:
# 'auto' -> adapts the batch length to the number of threads dedicated to downlink processing
# 'synchronous' -> disables batch-splitting and ensure that TB processing remains within the calling thread without parallelization
max_pucch_concurrency: 0 # Optional UINT (0). Maximum PUCCH processing concurrency for all cells.
# Limits the maximum number of threads that can concurrently process Physical Uplink Control Channel
# (PUCCH). Set it to zero for no limit of threads.
max_pusch_and_srs_concurrency: 1 # Optional UINT (1). Maximum PUSCH and SRS processing concurrency for all cells.
# Limits the maximum number of threads that can concurrently process Physical Uplink Shared Channel
# (PUSCH) and Sounding Reference Signals (SRS). Set it to zero for no limitation. If hardware
# acceleration is enabled, this parameter is set to the number of the accelerator queues.
max_pdsch_concurrency: 0 # Optional UINT (0). Maximum concurrency level for PDSCH processing for all cells.
# Limits the number of threads that can concurrently process Physical Downlink Shared Channel (PDSCH).
# Set to zero for no limitation. If hardware acceleration is enabled, this parameter is set to the
# number of the accelerator queues.
lower_phy:
execution_profile: triple # Optional TEXT (triple). Sets the lower physical layer executor profile. Supported: [single, dual, triple].
ofh:
enable_busy_waiting: false # Optional BOOLEAN (false). Enables or disables the OFH busy waiting.
main_pool:
nof_threads: 0 # Optional UINT (0). Number of threads for processing upper PHY and upper layers.
task_queue_size: 2048 # Optional UINT (2048). Main thread pool task queue size.
backoff_period: 50 # Optional UINT (50). Main thread pool back-off period, in microseconds.
queues:
du_ue_data_executor_queue_size: 8192 # Optional UINT (8192). Sets the DU's UE executor task queue size for PDU processing.
remote_control:
enabled: false # Optional BOOLEAN (false). Enables the remote control feature. Supported: [false, true].
bind_addr: 127.0.0.1 # Optional TEXT (127.0.0.1). Sets the local IP address to bind for remote control. Supported: IPv4 address.
port: 8001 # Optional UINT (8001). Sets the port where the remote control server listens for incoming connections. Supported: [0 - 65535].
hal:
eal_args: # Optional TEXT. EAL configuration parameters used to initialize DPDK.
bbdev_hwacc:
hwacc_type: # Optional TEXT. Type of BBDEV hardware-accelerator. Supported: [acc100, acc200, vrb1].
id: 0 # Optional UINT (0). ID of the BBDEV-based hardware-accelerator. Supported: [0 - 65535].
pdsch_enc:
nof_hwacc: 0 # Optional UINT (0). Number of hardware-accelerated PDSCH encoding functions. Supported [0 - 64].
cb_mode: false # Optional BOOLEAN (false). Operation mode of the PDSCH encoder (CB = true, TB = false [default]).
max_buffer_size: 0 # Optional UINT (0). Maximum supported buffer size in bytes (CB mode will be forced for larger TBs).
dedicated_queue: true # Optional BOOLEAN (true). Hardware queue used for the PDSCH encoder (dedicated = true [default], shared = false).
pusch_dec:
nof_hwacc: 0 # Optional UINT (0). Number of hardware-accelerated PDSCH encoding functions. Supported [0 - 64].
harq_context_size: 0 # Optional UINT (0). Size of the HARQ context repository.
force_local_harq: false # Optional BOOLEAN (false). Force using the host memory to implement the HARQ buffer.
dedicated_queue: true # Optional BOOLEAN (true). Hardware queue used for the PDSCH encoder (dedicated = true [default], shared = false).
msg_mbuf_size: 0 # Optional UINT (0). Size of the mbufs storing unencoded and unrate-matched messages (in bytes). Supported [0 - 64000].
rm_mbuf_size: 0 # Optional UINT (0). Size of the mbufs storing encoded and rate-matched messages (in bytes). Supported [0 - 64000].
nof_mbuf: 0 # Optional UINT (0). Number of mbufs in the memory pool.
test_mode:
test_ue:
rnti: 0 # Optional ENUM (0). Sets the C-RNTI of the UE. Supported: [0 - 65519].
nof_ues: 1 # Optonal UINT (1). Sets the number of test UE(s) created. Supported [0 - 1024].
auto_ack_indication_delay: # Optional TEXT. Sets the delay before the UL and DL HARQs are automatically ACKed. This feature should only be used if the UL PHY is not operational.
pdsch_active: true # Optional BOOLEAN (true). Enables the PDSCH of the UE. Supported: [false, true].
pusch_active: true # Optional BOOLEAN (true). Enables the PUSCH of the UE. Supported: [false, true].
cqi: 15 # Optional UINT (15). Sets the Channel Quality Information to be forwarded to the test UE. Supported: [1 - 15].
pmi: 0 # Optional UINT (0). Sets the Precoder Matrix Indicator to be forwarded to test UE. Supported: [0 - 3].
ri: 1 # Optional UINT (1). Sets the Rank Indicator to be forwarded to the test UE. Supported: [1 - 4].
i_1_1: 0 # Optional INT (0). Sets the Precoder Matrix codebook index "i_1_1" to be forwarded to test UE, in the case of more than 2 antennas. Supported: [0 - 7].
i_1_3: 0 # Optional INT (0). Sets the Precoder Matrix codebook index "i_1_3" to be forwarded to test UE, in the case of more than 2 antennas. Supported: [0 - 1].
i_2: 0 # Optional INT (0). Sets the Precoder Matrix codebook index "i_2" to be forwarded to test UE, in the case of more than 2 antennas. Supported: [0 - 3].
log:
# All gNB layers and components can be configured independently to output at various levels of detail. Logs can be configured to the following levels (from lowest to highest levels of detail):
# none, error, warning, info, debug
filename: stdout # Optional TEXT (stdout). File path for logs. Logs can be redirected to stdout by setting the filename to "stdout".
all_level: warning # Optional TEXT (warning). Sets a common log level across PHY, MAC, RLC, PDCP, RRC, SDAP, NGAP and GTPU layers.
lib_level: warning # Optional TEXT (warning). Sets the generic log level.
e2ap_level: warning # Optional TEXT (warning). Sets the E2AP log level.
config_level: none # Optional TEXT (none). Sets the config log level.
mac_level: warning # Optional TEXT (warning). Sets the MAC log level.
rlc_level: warning # Optional TEXT (warning). Sets the RLC log level.
f1ap_level: warning # Optional TEXT (warning). Sets the F1AP log level.
f1u_level: warning # Optional TEXT (warning). Sets the F1u log level.
gtpu_level: warning # Optional TEXT (warning). Sets the GTPU log level.
du_level: warning # Optional TEXT (warning). Sets the DU log level.
f1ap_json_enabled: false # Optional BOOLEAN (false). Enables the JSON logging of F1AP PDUs. Supported: [false, true].
high_latency_diagnostics_enabled: false # Optional BOOLEAN (false). Enables logging of performance diagnostics when high computational latencies are detected. Supported: [false, true].
fapi_level: warning # Optional TEXT (warning). Sets FAPI log level.
hal_level: warning # Optional TEXT (warning). Sets the HAL log level.
broadcast_enabled: false # Optional BOOLEAN (false). Enables logging in the PHY and MAC layer of broadcast messages and all PRACH opportunities. Supported: [false, true].
phy_rx_symbols_filename: # Optional TEXT. Print received symbols to file. Symbols will be printed if a valid path is set. Format: file path. This file can be used in the srsRAN_matlab project.
phy_rx_symbols_port: 0 # Optional TEXT. Set to a valid receive port number to dump the IQ symbols from that port only, or set to "all" to dump the IQ symbols from all UL receive ports. Only works if "phy_rx_symbols_filename" is set. Supported: [NON-NEGATIVE or all].
phy_rx_symbols_prach: false # Optional BOOLEAN (false). Set to true to dump the IQ symbols from all the PRACH ports. Only works if "phy_rx_symbols_filename" is set. Supported: [false, true].
hex_max_size: 0 # Optional INT (0). Sets the aximum number of bytes to print in hex (zero for no hex dumps, -1 for unlimited bytes). Supported: [-1 - 1024]
ofh_level: warning # Optional TEXT (warning). Sets Open Fronthaul log level.
radio_level: info # Optional TEXT (info). Sets radio log level.
phy_level: warning # Optional TEXT (warning). Sets PHY log level.
pcap:
e2ap_du_filename: /tmp/du_e2ap.pcap # Optional TEXT (/tmp/du_e2ap.pcap). Path for E2AP DU PCAPs.
e2ap_enable: false # Optional BOOLEAN (false). Enable/disable E2AP packet capture. Supported: [false, true].
f1ap_filename: /tmp/gnb_f1ap.pcap # Optional TEXT (/tmp/gnb_f1ap.pcap). Path for F1AP PCAPs.
f1ap_enable: false # Optional BOOLEAN (false). Enable/disable F1AP packet capture. Supported: [false, true].
f1u_filename: /tmp/gnb_f1u.pcap # Optional TEXT (/tmp/gnb_f1ap.pcap). Path for F1AP PCAPs.
f1u_enable: false # Optional BOOLEAN (false). Enable/disable F1AP packet capture. Supported: [false, true].
rlc_filename: /tmp/gnb_rlc.pcap # Optional TEXT (tmp/gnb_rlc.pcap). Path for RLC PCAPs.
rlc_rb_type: all # Optional TEXT. Sets the RLC PCAP RB type. Supported: [all, srb, drb].
rlc_enable: false # Optional BOOLEAN (false). Enable/disable RLC packet capture. Supported: [false, true].
mac_filename: /tmp/gnb_mac.pcap # Optional TEXT (/tmp/gnb_mac.pcap). Path for MAC PCAPs.
mac_type: udp # Optional TEXT (udp). Sets the MAC PCAP pcap type. Supported: [DLT or UDP].
mac_enable: false # Optional BOOLEAN (false). Enable/disable MAC packet capture. Supported: [false, true]. # Optional BOOLEAN (false). Enable/disable E2AP packet capture. Supported: [false, true].
metrics:
autostart_stdout_metrics: false # Optional BOOLEAN (false). Sets whether or not to autostart stdout metrics reporting. Supported [false, true].
enable_json: false # Optional BOOLEAN (false). Enables JSON metrics reporting.
enable_log: false # Optional BOOLEAN (false). Enables log metrics reporting.
enable_verbose: false # Optional BOOLEAN (false). Enables extended detail metrics reporting.
layers:
enable_app_usage: false # Optional BOOLEAN (false). Enables application usage metrics.
enable_sched: true # Optional BOOLEAN (true). Enables DU scheduler metrics.
enable_rlc: false # Optional BOOLEAN (false). Enables RLC metrics.
enable_mac: false # Optional BOOLEAN (false). Enables MAC metrics.
enable_executor: false # Optional BOOLEAN (false). Whether to log application executors metrics.
enable_du_low: false # Optional BOOLEAN (false). Enables DU low metrics (upper physical layer).
enable_ru: false # Optional BOOLEAN (false). Enables Radio Unit metrics.
periodicity:
app_usage_report_period: 1000 # Optional UINT (1000). Application resource usage metrics report period in milliseconds.
du_report_period: 1000 # Optional UINT (1000). DU statistics report period in milliseconds. Supported: [0 - 10485760].
executors_report_period: 1000 # Optional UINT (1000). Executors metrics report period in milliseconds. Supported: [0 - 10485760].
trace:
filename: # Optional TEXT. Set to a valid file path to enable tracing and write the trace to the file.
max_tracing_events_per_file: 1000000 # Optional UINT (1000000). Maximum number of events per file. Set to zero for no limit.
nof_tracing_events_after_severe: 0 # Optional UINT (0). Number of events to write prior to a severe event. Set to zero for writing all events.
layers:
du_high_enable: false # Optional BOOLEAN (false). Enables tracing for DU-high executors.
phy_enable: false # Optional BOOLEAN (false). Enables tracing for physical layer executors.
Antenna Configuration
OCUDU supports SISO, codebook-based MIMO, and TX/RX diversity. These options can be configured in the cell_cfg section via the nof_antennas_dl and nof_antennas_ul parameters.
When you configure nof_antennas_dl and nof_antennas_ul, it informs the gNB about the number of antennas available for downlink (DL) and uplink (UL) transmissions, respectively. By default, a
single physical antenna is used for both DL and UL, meaning the values of nof_antennas_dl and nof_antennas_ul are not additive.
As shown above, an example of a MIMO configuration file can be found in the example configuration files provided with OCUDU source files.