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 50dba38a511599987b99677c91eea083d3b870cc..20b0d3caf7f92b67e61a9f4c97519b493486ffa7 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 664af9d65eae102711e67b4342a91af53ab41344..81635f7eb203bea1eca8f6292eb1a3d369df3997 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 50a3468340056dd899b38a75a2f18bc34134e997..2a2524cb8779bd3de3ce70240c47f6289788a246 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 9f83c3f654ebb7aa50d3e3a02da948c86e76da93..53adb4eae14d9d143c55e8f70eaf00b85fd412b0 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 787701fc9c3eab813cfced3234891e3cbcf1a5ca..d45f9bfd622dc07b86874de3ae638154b06da153 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 3ec265f12c082df474062ba6b9a710b3c10e4cb4..b82944805a12d714552a5295dbf3bcde9df86e75 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 183d184977a2cfa7a61659cbbfc6f288976b150e..107ec626e281e23bd842d721117aed05b748fd03 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 b79d25f8f3d2280cf78d6028e5751dc69a2b5aee..1d5dbb5cb5369b9fb6645688cfd8815e1af3e583 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 4e8983599e26e6eb21db247e0d6a0de17ff86f7a..f1d6bd833337c1d1bc024ccb0944ddfc018a29f8 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 a7539daa69f1b345af0a4057454fa8ac8eee6d2d..524c6fbb4230e9f9701330b2c5294b17893cedbb 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