diff --git a/ci-scripts/conf_files/episci/proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf b/ci-scripts/conf_files/episci/proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf index 50dba38a51..20b0d3caf7 100644 --- a/ci-scripts/conf_files/episci/proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf +++ b/ci-scripts/conf_files/episci/proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf @@ -11,7 +11,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/conf_files/gNB_SA_CU.conf b/ci-scripts/conf_files/gNB_SA_CU.conf index 664af9d65e..81635f7eb2 100644 --- a/ci-scripts/conf_files/gNB_SA_CU.conf +++ b/ci-scripts/conf_files/gNB_SA_CU.conf @@ -15,7 +15,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/conf_files/gNB_SA_DU.conf b/ci-scripts/conf_files/gNB_SA_DU.conf index 50a3468340..2a2524cb87 100644 --- a/ci-scripts/conf_files/gNB_SA_DU.conf +++ b/ci-scripts/conf_files/gNB_SA_DU.conf @@ -14,7 +14,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf b/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf index 9f83c3f654..53adb4eae1 100644 --- a/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf +++ b/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf @@ -15,7 +15,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 97; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 97; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L diff --git a/ci-scripts/conf_files/gnb.sa.band66.fr1.106PRB.usrpn300.conf b/ci-scripts/conf_files/gnb.sa.band66.fr1.106PRB.usrpn300.conf index 787701fc9c..d45f9bfd62 100644 --- a/ci-scripts/conf_files/gnb.sa.band66.fr1.106PRB.usrpn300.conf +++ b/ci-scripts/conf_files/gnb.sa.band66.fr1.106PRB.usrpn300.conf @@ -11,7 +11,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 95; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 95; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/conf_files/gnb.sa.band78.fr1.106PRB.usrpb210.conf b/ci-scripts/conf_files/gnb.sa.band78.fr1.106PRB.usrpb210.conf index 3ec265f12c..b82944805a 100644 --- a/ci-scripts/conf_files/gnb.sa.band78.fr1.106PRB.usrpb210.conf +++ b/ci-scripts/conf_files/gnb.sa.band78.fr1.106PRB.usrpb210.conf @@ -11,7 +11,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 222; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }) }); + plmn_list = ({ mcc = 222; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml b/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml index 183d184977..107ec626e2 100644 --- a/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml +++ b/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml @@ -248,6 +248,7 @@ services: GNB_NGA_IP_ADDRESS: 192.168.71.140 GNB_NGU_IF_NAME: eth0 GNB_NGU_IP_ADDRESS: 192.168.71.140 + SDR_ADDRS: serial=XXXXXXX USE_ADDITIONAL_OPTIONS: --sa -E --rfsim --log_config.global_log_options level,nocolor,time depends_on: - oai-ext-dn diff --git a/docker/scripts/generateTemplate.py b/docker/scripts/generateTemplate.py index b79d25f8f3..1d5dbb5cb5 100644 --- a/docker/scripts/generateTemplate.py +++ b/docker/scripts/generateTemplate.py @@ -90,7 +90,7 @@ def main(): if templine.find(key["key"]) >= 0: if re.search(r'preference', templine): # false positive continue - if re.search(r'sdr_addrs', templine): # false positive + if key["key"] != 'sdr_addrs' and re.search(r'sdr_addrs', templine): # false positive continue elif re.search('downlink_frequency', line): templine = re.sub(r'[0-9]+', key["env"], line) @@ -106,7 +106,10 @@ def main(): r'\1' + key["env"] + r"\2", templine) # next: matches key = NUMBER elif re.search(key["key"] + "\s*=\s*[x0-9]+", templine): # x for "0x" hex start - templine = re.sub("(" + key["key"] + "\s*=\s*(?:0x)?)[x0-9]+", r"\1" + key["env"], templine) + templine = re.sub("(" + key["key"] + "\s*=\s*(?:0x)?)[x0-9a-fA-F]+", r"\1" + key["env"], templine) + # next: special case for sdr_addrs + elif key["key"] == 'sdr_addrs' and re.search(key["key"] + "\s*=\s*", templine): + templine = re.sub("(" + key["key"] + "\s*=\s*.*$)", key["key"] + " = \"" + key["env"] + "\"", templine) outputfile.write(templine) if __name__ == "__main__": diff --git a/docker/scripts/gnb_entrypoint.sh b/docker/scripts/gnb_entrypoint.sh index 4e8983599e..f1d6bd8333 100755 --- a/docker/scripts/gnb_entrypoint.sh +++ b/docker/scripts/gnb_entrypoint.sh @@ -18,8 +18,13 @@ if [[ -v USE_SA_NFAPI_VNF ]]; then cp $PREFIX/etc/gnb.sa.nfapi.vnf.conf $PREFIX/ # Sometimes, the templates are not enough. We mount a conf file on $PREFIX/etc. It can be a template itself. if [[ -v USE_VOLUMED_CONF ]]; then cp $PREFIX/etc/mounted.conf $PREFIX/etc/gnb.conf; fi -# Resolve AMF FQDN +# Defualt Parameters +GNB_ID=${GNB_ID:-e00} +NSSAI_SD=${NSSAI_SD:-ffffff} +USE_FQDN=${USE_FQDN:-false} AMF_FQDN=${AMF_FQDN:-oai-amf-svc} + +# Resolve AMF FQDN if ($USE_FQDN); then AMF_IP_ADDRESS=(`getent hosts $AMF_FQDN | awk '{print $1}'`); fi # Only this template will be manipulated diff --git a/docker/scripts/gnb_parameters.yaml b/docker/scripts/gnb_parameters.yaml index a7539daa69..524c6fbb42 100644 --- a/docker/scripts/gnb_parameters.yaml +++ b/docker/scripts/gnb_parameters.yaml @@ -28,6 +28,8 @@ - filePrefix: gnb.band78.tm1.fr1.106PRB.usrpb210.conf outputfilename: "gnb.nsa.tdd.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -72,6 +74,8 @@ - filePrefix: gnb.band78.sa.fr1.106PRB.usrpn310.conf outputfilename: "gnb.sa.tdd.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -88,6 +92,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -98,12 +104,16 @@ env: "@GNB_NGU_IF_NAME@" - key: GNB_IPV4_ADDRESS_FOR_NGU env: "@GNB_NGU_IP_ADDRESS@" + - key: sdr_addrs + env: "@SDR_ADDRS@" - key: parallel_config env: "@THREAD_PARALLEL_CONFIG@" - filePrefix: gnb.sa.band78.fr1.106PRB.usrpb210.conf outputfilename: "gnb.sa.tdd.b2xx.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -118,6 +128,10 @@ env: "@TAC@" - key: sst env: "@NSSAI_SST@" + - key: sd + env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -134,6 +148,8 @@ - filePrefix: gnb.sa.band66.fr1.106PRB.usrpn300.conf outputfilename: "gnb.sa.fdd.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -150,6 +166,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -166,6 +184,8 @@ - filePrefix: gNB_SA_CU.conf outputfilename: "gnb.sa.cu.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -182,6 +202,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -206,6 +228,8 @@ - filePrefix: gNB_SA_DU.conf outputfilename: "gnb.sa.du.tdd.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -222,6 +246,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -248,6 +274,8 @@ - filePrefix: proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf outputfilename: "gnb.sa.nfapi.vnf.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -264,6 +292,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF