diff --git a/ci-scripts/conf_files/gnb-cucp.sa.f1.conf b/ci-scripts/conf_files/gnb-cucp.sa.f1.conf
index 469ab8d187..94200b8189 100644
--- a/ci-scripts/conf_files/gnb-cucp.sa.f1.conf
+++ b/ci-scripts/conf_files/gnb-cucp.sa.f1.conf
@@ -16,7 +16,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, sd = 0xffffff }) });
+ plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }, { sst = 2 }, { sst = 3 }) });
nr_cellid = 12345678L;
@@ -24,8 +24,8 @@ gNBs =
tr_s_preference = "f1";
local_s_if_name = "lo";
- local_s_address = "192.168.72.140";
- remote_s_address = "192.168.72.143";
+ local_s_address = "192.168.71.150";
+ remote_s_address = "0.0.0.0"; # multiple DUs
local_s_portc = 501;
local_s_portd = 2152;
remote_s_portc = 500;
@@ -52,9 +52,9 @@ gNBs =
(
{
type = "cp";
- ipv4_cucp = "192.168.72.140";
+ ipv4_cucp = "192.168.71.150";
port_cucp = 38462;
- ipv4_cuup = "192.168.72.141";
+ ipv4_cuup = "0.0.0.0"; # multiple CU-UPs
port_cuup = 38462;
}
)
diff --git a/ci-scripts/conf_files/gnb-cuup.sa.f1.conf b/ci-scripts/conf_files/gnb-cuup.sa.f1.conf
index d6c54f0b9a..07e3701749 100644
--- a/ci-scripts/conf_files/gnb-cuup.sa.f1.conf
+++ b/ci-scripts/conf_files/gnb-cuup.sa.f1.conf
@@ -22,12 +22,12 @@ gNBs =
tr_s_preference = "f1";
local_s_if_name = "lo";
- local_s_address = "192.168.72.141";
- remote_s_address = "192.168.72.142";
+ local_s_address = "192.168.72.161";
+ remote_s_address = "192.168.72.171";
local_s_portc = 501;
- local_s_portd = 2152;
+ local_s_portd = 2153;
remote_s_portc = 500;
- remote_s_portd = 2152;
+ remote_s_portd = 2153;
# ------- SCTP definitions
SCTP :
@@ -41,17 +41,17 @@ gNBs =
(
{
type = "up";
- ipv4_cucp = "192.168.72.140";
- ipv4_cuup = "192.168.72.141";
+ ipv4_cucp = "192.168.71.150";
+ ipv4_cuup = "192.168.71.161";
}
)
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
- GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.71.141/24";
+ GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.71.161/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
- GNB_IPV4_ADDRESS_FOR_NGU = "192.168.71.141/24";
+ GNB_IPV4_ADDRESS_FOR_NGU = "192.168.71.161/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
diff --git a/ci-scripts/xml_files/container_5g_e1_rfsim.xml b/ci-scripts/xml_files/container_5g_e1_rfsim.xml
index b89b8a2bd2..8ccb7bdd15 100644
--- a/ci-scripts/xml_files/container_5g_e1_rfsim.xml
+++ b/ci-scripts/xml_files/container_5g_e1_rfsim.xml
@@ -27,14 +27,10 @@
111111
100021
- 000020
000021
000022
000023
- 000024
020021
- 020022
- 030021
100021
@@ -46,80 +42,38 @@
oai-gnb-asan oai-nr-cuup-asan oai-nr-ue-asan
-
- DeployGenObject
- Deploy MySql Database
- yaml_files/5g_rfsimulator_e1
- mysql
- 1
-
-
DeployGenObject
Deploy OAI 5G CoreNetwork
yaml_files/5g_rfsimulator_e1
- oai-nrf oai-amf oai-smf oai-spgwu oai-ext-dn
+ mysql oai-nrf oai-amf oai-smf oai-spgwu oai-ext-dn
6
DeployGenObject
- Deploy OAI 5G CU-CP RF sim SA
+ Deploy OAI 5G RAN RF sim SA (1 CU-CP, 3 CU-UPs, 3 DUs)
yaml_files/5g_rfsimulator_e1
- oai-cucp
- 7
+ oai-cucp oai-cuup oai-cuup2 oai-cuup3 oai-du oai-du2 oai-du3
+ 13
- DeployGenObject
- Deploy OAI 5G CU-UP and DU RF sim SA
- yaml_files/5g_rfsimulator_e1
- oai-cuup oai-du
- 9
-
-
-
DeployGenObject
Deploy OAI 5G NR-UE RF sim SA
yaml_files/5g_rfsimulator_e1
- oai-nr-ue
- 10
+ oai-nr-ue oai-nr-ue2 oai-nr-ue3
+ 16
Ping
- Ping ext-dn from NR-UE
- rfsim5g_ue
- -c 20 192.168.73.135
+ Ping ext-dn from all NR-UEs
+ rfsim5g_ue rfsim5g_ue2 rfsim5g_ue3
+ -c 20 12.1.1.1 -i0.25
5
-
- Ping
- Ping NR-UE from ext-dn
- rfsim5g_ext_dn
- -c 20 12.1.1.2
- 5
-
-
-
- IperfFromContainer
- Iperf UDP Downlink
- rfsim5g-oai-nr-ue
- rfsim5g-oai-ext-dn
- -B 12.1.1.2 -u -i 1 -s
- -c 12.1.1.2 -u -i 1 -t 30 -b 3M
-
-
-
- IperfFromContainer
- Iperf UDP Uplink
- rfsim5g-oai-ext-dn
- rfsim5g-oai-nr-ue
- -u -i 1 -s
- -B 12.1.1.2 -c 192.168.73.135 -u -i 1 -t 30 -b 1M
-
-
UndeployGenObject
Undeploy all OAI 5G stack
diff --git a/ci-scripts/xml_files/container_5g_e1_rfsim_down.xml b/ci-scripts/xml_files/container_5g_e1_rfsim_down.xml
index a1213c9b9b..4ccf180fd0 100644
--- a/ci-scripts/xml_files/container_5g_e1_rfsim_down.xml
+++ b/ci-scripts/xml_files/container_5g_e1_rfsim_down.xml
@@ -22,7 +22,7 @@
-->
rfsim-5gnr-down-e1
- CleanUp CUCP-CUUP-DU E1+F1 split
+ CleanUp E1+F1 split
trash
100022
diff --git a/ci-scripts/yaml_files/5g_rfsimulator_e1/README.md b/ci-scripts/yaml_files/5g_rfsimulator_e1/README.md
new file mode 100644
index 0000000000..b59440e958
--- /dev/null
+++ b/ci-scripts/yaml_files/5g_rfsimulator_e1/README.md
@@ -0,0 +1,136 @@
+# CI test for 5G F1+E1 splits with RFsimulator
+
+## General
+
+This docker-compose file deploys a core, RAN, and 3 UEs. Specifically:
+
+- 5GC mini deployment,
+- 1 CU-CP,
+- 3 CU-UPs, one for slices SST=1,2,3,
+- 3 DUs,
+- 3 UEs connecting to each DU, each requesting slice SST=1,2,3.
+
+The CU-CP associates each UE X connecting through DU X to CU-UP X, X=1,2,3. To
+this end, the docker-compose file deliberately employs the three `ran_netX`
+networks to route the user-plane traffic of each DU X/CU-UP X pair, through the
+`ran_netX` network in order to effectively test that the correct CU-UP is
+associated. Basically, the traffic test will only succeed if the correct pair
+of DU/CU-UP has been established; if not, the DU/CU-UP cannot communicate, as
+the traffic cannot be routed.
+
+For all other (CP, RFsim) traffic, all entities use the `public_net` network.
+
+## How to run
+
+You should be able to deploy the [basic 5G RFsim deployment](../5g_rfsimulator/README.md).
+
+First, start the MySQL server and 5GC:
+```bash
+$ docker-compose up -d mysql oai-nrf oai-amf oai-smf oai-spgwu oai-ext-dn
+$ docker-compose ps -a
+```
+
+Wait till everything is healthy.
+
+Next, start the RAN:
+```bash
+$ docker-compose up -d oai-cucp oai-cuup{,2,3} oai-du{,2,3}
+```
+
+You can verify that the DUs and CU-UPs connected successfully:
+```bash
+$ docker logs rfsim5g-oai-cucp
+[...]
+18535.139811 [RRC] I Accepting new CU-UP ID 3585 name gNB-OAI (assoc_id 257)
+18535.425744 [RRC] I Accepting new CU-UP ID 3584 name gNB-OAI (assoc_id 260)
+18535.425757 [RRC] I Accepting new CU-UP ID 3586 name gNB-OAI (assoc_id 261)
+18535.669733 [NR_RRC] I Received F1 Setup Request from gNB_DU 3585 (du-rfsim) on assoc_id 263
+18535.669814 [RRC] I Accepting DU 3585 (du-rfsim), sending F1 Setup Response
+18536.066417 [NR_RRC] I Received F1 Setup Request from gNB_DU 3586 (du-rfsim) on assoc_id 265
+18536.066476 [RRC] I Accepting DU 3586 (du-rfsim), sending F1 Setup Response
+18536.135581 [NR_RRC] I Received F1 Setup Request from gNB_DU 3584 (du-rfsim) on assoc_id 267
+18536.135650 [RRC] I Accepting DU 3584 (du-rfsim), sending F1 Setup Response
+```
+
+You should see that the CU-UP initialized two GTP instances (one for NG-U, the
+other for F1-U):
+```
+$ docker logs -f rfsim5g-oai-cuup
+[...]
+18535.425535 [GTPU] I Initializing UDP for local address 192.168.72.161 with port 2152
+18535.425571 [GTPU] I Created gtpu instance id: 96
+18535.425577 [GTPU] I Configuring GTPu address : 192.168.71.161, port : 2152
+18535.425581 [GTPU] I Initializing UDP for local address 192.168.71.161 with port 2152
+18535.425604 [GTPU] I Created gtpu instance id: 97
+```
+
+You should see the typical periodical output at the DUs:
+```
+$ docker logs rfsim5g-oai-du
+[...]
+18626.446953 [NR_MAC] I Frame.Slot 128.0
+
+18629.151076 [NR_MAC] I Frame.Slot 256.0
+```
+
+Next, connect the UEs. They are configured to connect to each DU by setting the
+RFsimulator server address to the `public_net` IP address of each DU. For each,
+you should see that they get an IP address
+```bash
+$ docker compose up -d oai-nr-ue{,2,3}
+$ docker logs oai-nr-ue
+[...]
+18758.176149 [NR_RRC] I rrcReconfigurationComplete Encoded 10 bits (2 bytes)
+18758.176153 [NR_RRC] I Logical Channel UL-DCCH (SRB1), Generating RRCReconfigurationComplete (bytes 2)
+18758.176154 [NAS] I [UE 0] Received NAS_CONN_ESTABLI_CNF: errCode 1, length 87
+18758.176455 [OIP] I Interface oaitun_ue1 successfully configured, ip address 12.1.1.3, mask 255.255.255.0 broadcast address 12.1.1.255
+```
+
+Alternatively, check that they all received an IP address (the associated IP
+addresses might be different):
+```bash
+$ docker exec -it rfsim5g-oai-nr-ue3 ip a show oaitun_ue1
+[...]
+ inet 12.1.1.2/24 brd 12.1.1.255 scope global oaitun_ue1
+[...]
+$ docker exec -it rfsim5g-oai-nr-ue2 ip a show oaitun_ue1
+[...]
+ inet 12.1.1.4/24 brd 12.1.1.255 scope global oaitun_ue1
+[...]
+$ docker exec -it rfsim5g-oai-nr-ue ip a show oaitun_ue1
+[...]
+ inet 12.1.1.3/24 brd 12.1.1.255 scope global oaitun_ue1
+[...]
+```
+
+Also, note that each DU sees only one UE! At the CU-CP, you should see that
+each DU has been associated to a different CU-UP, based on the NSSAI (`exact
+NSSAI match`):
+```bash
+$ docker logs rfsim5g-oai-cucp | grep CU-U
+[...]
+18757.531423 [RRC] I selecting CU-UP ID 3586 based on exact NSSAI match (3:0xffffff)
+18757.531434 [RRC] I UE 1 associating to CU-UP assoc_id 261 out of 3 CU-UPs
+18758.171502 [RRC] I selecting CU-UP ID 3584 based on exact NSSAI match (1:0xffffff)
+18758.171510 [RRC] I UE 2 associating to CU-UP assoc_id 260 out of 3 CU-UPs
+18758.772320 [RRC] I selecting CU-UP ID 3585 based on exact NSSAI match (2:0xffffff)
+18758.772327 [RRC] I UE 3 associating to CU-UP assoc_id 257 out of 3 CU-UPs
+```
+
+Also, each UE should be able to ping the core network. For instance, with UE 1:
+```bash
+$ docker exec -it rfsim5g-oai-nr-ue ping -c1 12.1.1.1
+PING 12.1.1.1 (12.1.1.1) 56(84) bytes of data.
+64 bytes from 12.1.1.1: icmp_seq=1 ttl=64 time=15.2 ms
+
+--- 12.1.1.1 ping statistics ---
+1 packets transmitted, 1 received, 0% packet loss, time 0ms
+rtt min/avg/max/mdev = 15.155/15.155/15.155/0.000 ms
+```
+
+Finally, undeploy the UEs (to give them time to do deregistration), and then
+the rest of the network:
+```bash
+$ docker compose stop oai-nr-ue{,2,3}
+$ docker compose down
+```
diff --git a/ci-scripts/yaml_files/5g_rfsimulator_e1/docker-compose.yaml b/ci-scripts/yaml_files/5g_rfsimulator_e1/docker-compose.yaml
index 4eaa942824..8479e32723 100644
--- a/ci-scripts/yaml_files/5g_rfsimulator_e1/docker-compose.yaml
+++ b/ci-scripts/yaml_files/5g_rfsimulator_e1/docker-compose.yaml
@@ -7,14 +7,14 @@ services:
- NRF_INTERFACE_NAME_FOR_SBI=eth0
- TZ=Europe/Paris
networks:
- core_net:
+ public_net:
ipv4_address: 192.168.71.130
mysql:
container_name: "rfsim5g-mysql"
image: mysql:8.0
volumes:
- - ../5g_rfsimulator/oai_db.sql:/docker-entrypoint-initdb.d/oai_db.sql
- - ../5g_rfsimulator/mysql-healthcheck.sh:/tmp/mysql-healthcheck.sh
+ - ../5g_f1_rfsimulator/oai_db.sql:/docker-entrypoint-initdb.d/oai_db.sql
+ - ../5g_f1_rfsimulator/mysql-healthcheck.sh:/tmp/mysql-healthcheck.sh
environment:
- TZ=Europe/Paris
- MYSQL_DATABASE=oai_db
@@ -27,7 +27,7 @@ services:
timeout: 5s
retries: 30
networks:
- core_net:
+ public_net:
ipv4_address: 192.168.71.131
oai-amf:
container_name: "rfsim5g-oai-amf"
@@ -49,8 +49,10 @@ services:
- PLMN_SUPPORT_MCC=208
- PLMN_SUPPORT_MNC=99
- PLMN_SUPPORT_TAC=0x0001
- # Only one slice is defined (1, 0xFFFFFF).
+ # Three slices are defined
- SST_0=1
+ - SST_1=2
+ - SST_2=3
- AMF_INTERFACE_NAME_FOR_NGAP=eth0
- AMF_INTERFACE_NAME_FOR_N11=eth0
# One single SMF instance
@@ -74,7 +76,7 @@ services:
- oai-nrf
- mysql
networks:
- core_net:
+ public_net:
ipv4_address: 192.168.71.132
oai-smf:
container_name: "rfsim5g-oai-smf"
@@ -101,6 +103,8 @@ services:
- TYPE0=IPv4
- DNN_RANGE0=12.1.1.2 - 12.1.1.127
- NSSAI_SST0=1
+ - NSSAI_SST1=2
+ - NSSAI_SST2=3
- SESSION_AMBR_UL0=200Mbps
- SESSION_AMBR_DL0=400Mbps
- DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1
@@ -109,7 +113,7 @@ services:
- oai-nrf
- oai-amf
networks:
- core_net:
+ public_net:
ipv4_address: 192.168.71.133
oai-spgwu:
container_name: "rfsim5g-oai-spgwu"
@@ -127,10 +131,16 @@ services:
- UPF_FQDN_5G=oai-spgwu
- NRF_IPV4_ADDRESS=192.168.71.130
- NRF_FQDN=oai-nrf
- # Only one slice is defined (1, 0xFFFFFF)
+ # Three slices are defined
- NSSAI_SST_0=1
- NSSAI_SD_0=0xffffff
- DNN_0=oai
+ - NSSAI_SST_1=2
+ - NSSAI_SD_1=0xffffff
+ - DNN_1=oai
+ - NSSAI_SST_2=3
+ - NSSAI_SD_2=0xffffff
+ - DNN_2=oai
depends_on:
- oai-nrf
- oai-smf
@@ -141,10 +151,10 @@ services:
- ALL
privileged: true
networks:
- core_net:
+ public_net:
ipv4_address: 192.168.71.134
traffic_net:
- ipv4_address: 192.168.73.134
+ ipv4_address: 192.168.75.134
oai-ext-dn:
privileged: true
@@ -152,14 +162,14 @@ services:
image: oaisoftwarealliance/trf-gen-cn5g:focal
entrypoint: /bin/bash -c \
"iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;"\
- "ip route add 12.1.1.0/24 via 192.168.73.134 dev eth0; sleep infinity"
+ "ip route add 12.1.1.0/24 via 192.168.75.134 dev eth0; sleep infinity"
depends_on:
- oai-spgwu
networks:
traffic_net:
- ipv4_address: 192.168.73.135
+ ipv4_address: 192.168.75.135
healthcheck:
- test: /bin/bash -c "ping -c 2 192.168.73.134"
+ test: /bin/bash -c "ping -c 2 192.168.75.134"
interval: 10s
timeout: 5s
retries: 5
@@ -174,10 +184,8 @@ services:
depends_on:
- oai-ext-dn
networks:
- core_net:
- ipv4_address: 192.168.71.140
- ran_net:
- ipv4_address: 192.168.72.140
+ public_net:
+ ipv4_address: 192.168.71.150
volumes:
- ../../conf_files/gnb-cucp.sa.f1.conf:/opt/oai-gnb/etc/gnb.conf
healthcheck:
@@ -196,10 +204,66 @@ services:
depends_on:
- oai-cucp
networks:
- core_net:
- ipv4_address: 192.168.71.141
+ public_net:
+ ipv4_address: 192.168.71.161
ran_net:
- ipv4_address: 192.168.72.141
+ ipv4_address: 192.168.72.161
+ volumes:
+ - ../../conf_files/gnb-cuup.sa.f1.conf:/opt/oai-gnb/etc/gnb.conf
+ healthcheck:
+ test: /bin/bash -c "pgrep nr-cuup"
+ interval: 10s
+ timeout: 5s
+ retries: 5
+
+ oai-cuup2:
+ image: oaisoftwarealliance/oai-nr-cuup:develop
+ privileged: true
+ container_name: rfsim5g-oai-cuup2
+ environment:
+ USE_ADDITIONAL_OPTIONS: --sa --log_config.global_log_options level,nocolor,time
+ --gNBs.[0].gNB_CU_UP_ID 0xe01
+ --gNBs.[0].E1_INTERFACE.[0].ipv4_cuup 192.168.71.162
+ --gNBs.[0].local_s_address 192.168.73.162
+ --gNBs.[0].remote_s_address 192.168.73.172
+ --gNBs.[0].NETWORK_INTERFACES.GNB_IPV4_ADDRESS_FOR_NGU 192.168.71.162
+ --gNBs.[0].plmn_list.[0].snssaiList.[0].sst 2
+ ASAN_OPTIONS: detect_leaks=0
+ depends_on:
+ - oai-cucp
+ networks:
+ public_net:
+ ipv4_address: 192.168.71.162
+ ran_net2:
+ ipv4_address: 192.168.73.162
+ volumes:
+ - ../../conf_files/gnb-cuup.sa.f1.conf:/opt/oai-gnb/etc/gnb.conf
+ healthcheck:
+ test: /bin/bash -c "pgrep nr-cuup"
+ interval: 10s
+ timeout: 5s
+ retries: 5
+
+ oai-cuup3:
+ image: oaisoftwarealliance/oai-nr-cuup:develop
+ privileged: true
+ container_name: rfsim5g-oai-cuup3
+ environment:
+ USE_ADDITIONAL_OPTIONS: --sa --log_config.global_log_options level,nocolor,time
+ --gNBs.[0].gNB_CU_UP_ID 0xe02
+ --gNBs.[0].E1_INTERFACE.[0].ipv4_cuup 192.168.71.163
+ --gNBs.[0].local_s_address 192.168.74.163
+ --gNBs.[0].remote_s_address 192.168.74.173
+ --gNBs.[0].NETWORK_INTERFACES.GNB_IPV4_ADDRESS_FOR_NGU 192.168.71.163
+ --gNBs.[0].plmn_list.[0].snssaiList.[0].sst 3
+ ASAN_OPTIONS: detect_leaks=0
+ depends_on:
+ - oai-cucp
+ networks:
+ public_net:
+ ipv4_address: 192.168.71.163
+ ran_net3:
+ ipv4_address: 192.168.74.163
volumes:
- ../../conf_files/gnb-cuup.sa.f1.conf:/opt/oai-gnb/etc/gnb.conf
healthcheck:
@@ -214,12 +278,72 @@ services:
container_name: rfsim5g-oai-du
environment:
USE_ADDITIONAL_OPTIONS: --sa --rfsim --log_config.global_log_options level,nocolor,time
+ --MACRLCs.[0].local_n_address 192.168.72.171
ASAN_OPTIONS: detect_leaks=0
+ depends_on:
+ - oai-cucp
+ - oai-cuup
networks:
+ public_net:
+ ipv4_address: 192.168.71.171
ran_net:
- ipv4_address: 192.168.72.142
+ ipv4_address: 192.168.72.171
volumes:
- - ../../conf_files/gnb-du.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
+ - ../../conf_files/gnb-du.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
+ healthcheck:
+ test: /bin/bash -c "pgrep nr-softmodem"
+ interval: 10s
+ timeout: 5s
+ retries: 5
+
+ oai-du2:
+ image: oaisoftwarealliance/oai-gnb:develop
+ privileged: true
+ container_name: rfsim5g-oai-du2
+ environment:
+ USE_ADDITIONAL_OPTIONS: --sa --rfsim --log_config.global_log_options level,nocolor,time
+ --gNBs.[0].gNB_DU_ID 0xe01
+ --gNBs.[0].nr_cellid 87654321
+ --gNBs.[0].servingCellConfigCommon.[0].physCellId 1
+ --MACRLCs.[0].local_n_address 192.168.73.172
+ ASAN_OPTIONS: detect_leaks=0
+ depends_on:
+ - oai-cucp
+ - oai-cuup2
+ networks:
+ public_net:
+ ipv4_address: 192.168.71.172
+ ran_net2:
+ ipv4_address: 192.168.73.172
+ volumes:
+ - ../../conf_files/gnb-du.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
+ healthcheck:
+ test: /bin/bash -c "pgrep nr-softmodem"
+ interval: 10s
+ timeout: 5s
+ retries: 5
+
+ oai-du3:
+ image: oaisoftwarealliance/oai-gnb:develop
+ privileged: true
+ container_name: rfsim5g-oai-du3
+ environment:
+ USE_ADDITIONAL_OPTIONS: --sa --rfsim --log_config.global_log_options level,nocolor,time
+ --gNBs.[0].gNB_DU_ID 0xe02
+ --gNBs.[0].nr_cellid 11111111
+ --gNBs.[0].servingCellConfigCommon.[0].physCellId 2
+ --MACRLCs.[0].local_n_address 192.168.74.173
+ ASAN_OPTIONS: detect_leaks=0
+ depends_on:
+ - oai-cucp
+ - oai-cuup3
+ networks:
+ public_net:
+ ipv4_address: 192.168.71.173
+ ran_net3:
+ ipv4_address: 192.168.74.173
+ volumes:
+ - ../../conf_files/gnb-du.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
healthcheck:
test: /bin/bash -c "pgrep nr-softmodem"
interval: 10s
@@ -231,13 +355,62 @@ services:
privileged: true
container_name: rfsim5g-oai-nr-ue
environment:
- USE_ADDITIONAL_OPTIONS: --sa --rfsim -r 106 --numerology 1 -C 3619200000 --rfsimulator.serveraddr 192.168.72.142 --log_config.global_log_options level,nocolor,time
+ USE_ADDITIONAL_OPTIONS: --sa --rfsim --log_config.global_log_options level,nocolor,time
+ -r 106 --numerology 1 -C 3619200000
+ --uicc0.imsi 208990100001100
+ --rfsimulator.serveraddr 192.168.71.171
ASAN_OPTIONS: detect_leaks=0
depends_on:
- oai-du
networks:
- ran_net:
- ipv4_address: 192.168.72.150
+ public_net:
+ ipv4_address: 192.168.71.181
+ volumes:
+ - ../../conf_files/nrue.uicc.conf:/opt/oai-nr-ue/etc/nr-ue.conf
+ healthcheck:
+ test: /bin/bash -c "pgrep nr-uesoftmodem"
+ interval: 10s
+ timeout: 5s
+ retries: 5
+
+ oai-nr-ue2:
+ image: oaisoftwarealliance/oai-nr-ue:develop
+ privileged: true
+ container_name: rfsim5g-oai-nr-ue2
+ environment:
+ USE_ADDITIONAL_OPTIONS: --sa --rfsim --log_config.global_log_options level,nocolor,time
+ -r 106 --numerology 1 -C 3619200000
+ --uicc0.imsi 208990100001101 --uicc0.nssai_sst 2
+ --rfsimulator.serveraddr 192.168.71.172
+ ASAN_OPTIONS: detect_leaks=0
+ depends_on:
+ - oai-du2
+ networks:
+ public_net:
+ ipv4_address: 192.168.71.182
+ volumes:
+ - ../../conf_files/nrue.uicc.conf:/opt/oai-nr-ue/etc/nr-ue.conf
+ healthcheck:
+ test: /bin/bash -c "pgrep nr-uesoftmodem"
+ interval: 10s
+ timeout: 5s
+ retries: 5
+
+ oai-nr-ue3:
+ image: oaisoftwarealliance/oai-nr-ue:develop
+ privileged: true
+ container_name: rfsim5g-oai-nr-ue3
+ environment:
+ USE_ADDITIONAL_OPTIONS: --sa --rfsim --log_config.global_log_options level,nocolor,time
+ -r 106 --numerology 1 -C 3619200000
+ --uicc0.imsi 208990100001102 --uicc0.nssai_sst 3
+ --rfsimulator.serveraddr 192.168.71.173
+ ASAN_OPTIONS: detect_leaks=0
+ depends_on:
+ - oai-du3
+ networks:
+ public_net:
+ ipv4_address: 192.168.71.183
volumes:
- ../../conf_files/nrue.uicc.conf:/opt/oai-nr-ue/etc/nr-ue.conf
healthcheck:
@@ -247,14 +420,14 @@ services:
retries: 5
networks:
- core_net:
+ public_net:
driver: bridge
- name: rfsim5g-oai-core-net
+ name: rfsim5g-oai-public-net
ipam:
config:
- subnet: 192.168.71.128/26
driver_opts:
- com.docker.network.bridge.name: "rfsim5g-core"
+ com.docker.network.bridge.name: "rfsim5g-public"
ran_net:
driver: bridge
name: rfsim5g-oai-ran-net
@@ -263,11 +436,27 @@ networks:
- subnet: 192.168.72.128/26
driver_opts:
com.docker.network.bridge.name: "rfsim5g-ran"
+ ran_net2:
+ driver: bridge
+ name: rfsim5g-oai-ran-net2
+ ipam:
+ config:
+ - subnet: 192.168.73.128/26
+ driver_opts:
+ com.docker.network.bridge.name: "rfsim5g-ran2"
+ ran_net3:
+ driver: bridge
+ name: rfsim5g-oai-ran-net3
+ ipam:
+ config:
+ - subnet: 192.168.74.128/26
+ driver_opts:
+ com.docker.network.bridge.name: "rfsim5g-ran3"
traffic_net:
driver: bridge
name: rfsim5g-oai-traffic_net-net
ipam:
config:
- - subnet: 192.168.73.128/26
+ - subnet: 192.168.75.128/26
driver_opts:
com.docker.network.bridge.name: "rfsim5g-traffic"