Skip to content

Commit 5337674

Browse files
Merge pull request #15 from microsoft/bozidar/srs_config
Allow full adjustment of srsRAN configuration through Helm values.yaml parameters
2 parents 4e8e612 + 48c8c52 commit 5337674

5 files changed

Lines changed: 145 additions & 147 deletions

File tree

containers/Docker/Scripts/msft_config.yaml

Lines changed: 0 additions & 128 deletions
This file was deleted.

containers/Docker/Scripts/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
# Create the final config file
4-
python3 update_config.py --config msft_config.yaml --output config.yaml --input /du-config/config.json --du_name $(jq -r '.duConfigs | keys[0]' /du-config/config.json)
4+
python3 update_config.py --config /du-config/default_config.yaml --output config.yaml --input /du-config/config.json --du_name $(jq -r '.duConfigs | keys[0]' /du-config/config.json)
55

66

77
# Source def_taskset.sh if it exists

containers/Helm/templates/gnb-statefulset.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ metadata:
1111
data:
1212
config.json: |-
1313
{{ $.Values | toJson }}
14+
{{- if not $.Values.zmq.enabled }}
15+
default_config.yaml: |-
16+
{{ $.Values.srs_ran_config | toYaml | nindent 4 }}
17+
{{- end }}
1418

1519
---
1620
apiVersion: apps/v1

containers/Helm/values.yaml

Lines changed: 135 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,6 @@ duConfigs:
9999
# cell4:
100100
# ruDPDKResource: "intel.com/intel_sriov_dpdk_ru3"
101101

102-
cell_cfg:
103-
plmn: "00101"
104102

105103

106104
ngcParams:
@@ -324,19 +322,139 @@ debug_mode:
324322
enabled: false
325323

326324

327-
# The following are directly copied into srsRAN config
328-
# For reference, see https://docs.srsran.com/projects/project/en/latest/user_manuals/source/config_ref.html
329-
330-
# log levels can be info,debug,warning,error,
331-
log:
332-
rrc_level: warning
333-
rlc_level: warning
334-
mac_level: warning
335-
phy_level: warning
336-
ofh_level: warning
337-
radio_level: warning
338-
hal_level: warning
339-
cu_level: info
340-
341-
# Also metrics, pcap
342325

326+
# Below is the yaml section that will be directly copied into the srsRAN config file.
327+
# Note that the install script will update some of the values in this section with the values from the Helm chart.
328+
# Note that the following is not used in ZMQ. For that, most of the parameters are fixed to use 10 MHz
329+
# bandwidth. To customize it, pass a separate yaml to the Helm chart.
330+
srs_ran_config:
331+
cu_cp:
332+
amf:
333+
addr: 192.168.101.14
334+
bind_addr: 0.0.0.0
335+
supported_tracking_areas:
336+
- tac: 1
337+
plmn_list:
338+
- plmn: "99999"
339+
tai_slice_support_list:
340+
- sst: 1
341+
sd: 162
342+
- sst: 1
343+
sd: 163
344+
- sst: 1
345+
sd: 164
346+
- sst: 1
347+
sd: 165
348+
- plmn: "00101"
349+
tai_slice_support_list:
350+
- sst: 1
351+
sd: 162
352+
- sst: 1
353+
sd: 163
354+
- sst: 1
355+
sd: 164
356+
- sst: 1
357+
sd: 165
358+
security:
359+
nia_pref_list: nia2,nia1
360+
nea_pref_list: nea2,nea1,nea3,nea0 # nea2 required for iPhone
361+
mobility:
362+
cells:
363+
- nr_cell_id: 0x66C000 # For the default gnb_id=411 (gnb_id_bit_length=22), NR cell IDs start with 0x66C000 and increment for each cell of the DU.
364+
periodic_report_cfg_id: 1 # This will configure a periodical report config for the serving cell.
365+
report_configs: # Define report configs for cell 1
366+
- report_cfg_id: 1
367+
report_type: periodical
368+
report_interval_ms: 1024
369+
370+
cell_cfg:
371+
dl_arfcn: 630684
372+
common_scs: 30
373+
band: 78
374+
plmn: "00101"
375+
tac: 1
376+
pci: 1
377+
channel_bandwidth_MHz: 40
378+
ssb:
379+
ssb_block_power_dbm: -21
380+
nof_antennas_dl: 4
381+
nof_antennas_ul: 4
382+
tdd_ul_dl_cfg:
383+
dl_ul_tx_period: 10
384+
nof_dl_slots: 7
385+
nof_dl_symbols: 6
386+
nof_ul_slots: 2
387+
nof_ul_symbols: 4
388+
prach:
389+
prach_config_index: 159
390+
prach_root_sequence_index: 1
391+
zero_correlation_zone: 0
392+
prach_frequency_start: 12
393+
pusch:
394+
mcs_table: qam256
395+
slicing: # Use default slice allocations
396+
- # slice=internet
397+
sst: 1
398+
sd: 162
399+
- # slice=internet2
400+
sst: 1
401+
sd: 163
402+
- # slice=internet3
403+
sst: 1
404+
sd: 164
405+
- # slice=default
406+
sst: 1
407+
sd: 165
408+
409+
cells:
410+
- pci: 1
411+
dl_arfcn: 630684
412+
413+
ru_ofh:
414+
ru_bandwidth_MHz: 40
415+
t1a_max_cp_dl: 470
416+
t1a_min_cp_dl: 258
417+
t1a_max_cp_ul: 429
418+
t1a_min_cp_ul: 285
419+
t1a_max_up: 196
420+
t1a_min_up: 50
421+
ta4_max: 75
422+
ta4_min: 0
423+
is_prach_cp_enabled: true
424+
ignore_ecpri_payload_size: true
425+
compr_method_ul: bfp
426+
compr_bitwidth_ul: 9
427+
compr_method_dl: bfp
428+
compr_bitwidth_dl: 9
429+
compr_method_prach: none
430+
compr_bitwidth_prach: 16
431+
enable_ul_static_compr_hdr: false
432+
enable_dl_static_compr_hdr: false
433+
iq_scaling: 2.0
434+
cells:
435+
- network_interface: 0000:3f:00.5 # PCI address of the NIC card in your server
436+
ru_mac_addr: e2:53:8d:8f:a4:6b
437+
du_mac_addr: aa:bb:cc:11:22:33
438+
vlan_tag_up: 1
439+
vlan_tag_cp: 1
440+
prach_port_id: [4, 5, 6, 7]
441+
dl_port_id: [0, 1, 2, 3]
442+
ul_port_id: [0, 1, 2, 3]
443+
444+
# Will be added by the update script
445+
#hal:
446+
# eal_args: "--lcores (0-1)@(1-30)"
447+
448+
# log levels can be info,debug,warning,error,
449+
log:
450+
rrc_level: warning
451+
rlc_level: warning
452+
mac_level: warning
453+
phy_level: warning
454+
ofh_level: warning
455+
radio_level: warning
456+
hal_level: warning
457+
cu_level: info
458+
459+
metrics:
460+
autostart_stdout_metrics: true

containers/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ To build required images:
1717
```sh
1818
./init_submodules.sh
1919
cd containers/Docker
20-
sudo ./build.base.sh [-b <base-image-tag>]
20+
sudo ./build_base.sh [-b <base-image-tag>]
2121
sudo ./build_srs_jbpf.sh [-b <base-image-tag>] [-s <srs-image-tag>] [-c] # Use -c for '--no-cache'
2222
sudo ./build_srs_jbpf_sdk.sh [-s <srs-image-tag>]
23+
sudo ./build_srs_jbpf_zmq.sh [-b <base-image-tag>] [-s <srs-image-tag>]
24+
sudo ./build_srs_ue_base.sh [-b <base-image-tag>] [-s <srs-image-tag>] [-c] # Use -c for '--no-cache'
25+
sudo ./build_srs_ue.sh [-s <srs-image-tag>] [-c] # Use -c for '--no-cache'
26+
2327
```

0 commit comments

Comments
 (0)