From 027f7d9f2e7bd9d11c245bddff47909d318e497c Mon Sep 17 00:00:00 2001
From: Sagar Arora <sagar.arora@openairinterface.org>
Date: Fri, 22 Dec 2023 12:38:36 +0100
Subject: [PATCH] F1+E1 RFsim test: eparate subnets, remove oai-ext-dn, update
 description

- for F1U, F1C, E1, UE and Core
- update README with subnets
- better document sample output
---
 .../xml_files/container_5g_e1_rfsim.xml       |   8 +-
 .../yaml_files/5g_rfsimulator_e1/README.md    | 158 +++++++++++---
 .../5g_rfsimulator_e1/docker-compose.yaml     | 203 ++++++++++--------
 3 files changed, 243 insertions(+), 126 deletions(-)

diff --git a/ci-scripts/xml_files/container_5g_e1_rfsim.xml b/ci-scripts/xml_files/container_5g_e1_rfsim.xml
index 8ccb7bdd15..b53a01da13 100644
--- a/ci-scripts/xml_files/container_5g_e1_rfsim.xml
+++ b/ci-scripts/xml_files/container_5g_e1_rfsim.xml
@@ -46,8 +46,8 @@
                 <class>DeployGenObject</class>
                 <desc>Deploy OAI 5G CoreNetwork</desc>
                 <yaml_path>yaml_files/5g_rfsimulator_e1</yaml_path>
-                <services>mysql oai-nrf oai-amf oai-smf oai-spgwu oai-ext-dn</services>
-                <nb_healthy>6</nb_healthy>
+                <services>mysql oai-nrf oai-amf oai-smf oai-spgwu</services>
+                <nb_healthy>5</nb_healthy>
         </testCase>
 
         <testCase id="000022">
@@ -55,7 +55,7 @@
                 <desc>Deploy OAI 5G RAN RF sim SA (1 CU-CP, 3 CU-UPs, 3 DUs)</desc>
                 <yaml_path>yaml_files/5g_rfsimulator_e1</yaml_path>
                 <services>oai-cucp oai-cuup oai-cuup2 oai-cuup3 oai-du oai-du2 oai-du3</services>
-                <nb_healthy>13</nb_healthy>
+                <nb_healthy>12</nb_healthy>
         </testCase>
 
         <testCase id="000023">
@@ -63,7 +63,7 @@
                 <desc>Deploy OAI 5G NR-UE RF sim SA</desc>
                 <yaml_path>yaml_files/5g_rfsimulator_e1</yaml_path>
                 <services>oai-nr-ue oai-nr-ue2 oai-nr-ue3</services>
-                <nb_healthy>16</nb_healthy>
+                <nb_healthy>15</nb_healthy>
         </testCase>
 
         <testCase id="020021">
diff --git a/ci-scripts/yaml_files/5g_rfsimulator_e1/README.md b/ci-scripts/yaml_files/5g_rfsimulator_e1/README.md
index b59440e958..2cc0ec88ab 100644
--- a/ci-scripts/yaml_files/5g_rfsimulator_e1/README.md
+++ b/ci-scripts/yaml_files/5g_rfsimulator_e1/README.md
@@ -10,36 +10,58 @@ This docker-compose file deploys a core, RAN, and 3 UEs. Specifically:
 - 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.
+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 `f1u_netX` networks to route the user-plane traffic of each DU X/CU-UP X pair, through the `f1u_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. 
+Core network components are on `core_net` network, CU-CP <--> CU-UP X communicate via `e1_net` network, CU-CP <--> DU X communicate via `f1c_net` network and DU X <--> NR_UE X communicate via `ue_net` network.
+
+
+## Connectivity
+
+```
+AMF  --> 192.168.71.132 (N2,Namf)
+SMF  --> 192.168.71.133 (N4,Nsmf)
+NRF  --> 192.168.71.130 (Nnrf)
+SPGWU  --> 192.168.71.134 (N3)
+CU-CP  --> 192.168.71.X (N2), 192.168.72.2 (F1C), 192.168.77.2 (E1)
+CU-UP1 --> 192.168.71.X (N3), 192.168.73.2 (F1U), 192.168.77.3 (E1)
+CU-UP2 --> 192.168.71.X (N3), 192.168.74.2 (F1U), 192.168.77.4 (E1)
+CU-UP3 --> 192.168.71.X (N3), 192.168.76.2 (F1U), 192.168.77.5 (E1)
+DU1    --> 192.168.72.2 (F1C), 192.168.73.3 (F1U), 192.168.78.2 (RFSIM)
+DU2    --> 192.168.72.3 (F1C), 192.168.74.3 (F1U), 192.168.78.3 (RFSIM)
+DU3    --> 192.168.72.4 (F1C), 192.168.76.3 (F1U), 192.168.78.4 (RFSIM)
+UE1    --> 192.168.78.5 (RFSIM)
+UE2    --> 192.168.78.6 (RFSIM)
+UE3    --> 192.168.78.7 (RFSIM)
+```
 
 ## 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
+docker-compose up -d mysql oai-nrf oai-amf oai-smf oai-spgwu
+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}
+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
+docker logs rfsim5g-oai-cucp
+```
+
+<details>
+<summary>The output is similar to:</summary>
+
+```console
 [...]
 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)
@@ -51,63 +73,126 @@ $ docker logs rfsim5g-oai-cucp
 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
 ```
+</details>
 
-You should see that the CU-UP initialized two GTP instances (one for NG-U, the
-other for F1-U):
+You should see that the CU-UP initialized two GTP instances (one for NG-U, the other for F1-U):
+
+```bash
+docker logs -f rfsim5g-oai-cuup
 ```
-$ docker logs -f rfsim5g-oai-cuup
+
+<details>
+<summary>The output is similar to:</summary>
+
+```console
 [...]
-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
+122690.500374 [GTPU] I Initializing UDP for local address 192.168.73.2 with port 2153
+122690.500406 [GTPU] I Created gtpu instance id: 96
+122690.500413 [GTPU] I Configuring GTPu address : 192.168.71.161, port : 2152
+122690.500414 [GTPU] I Initializing UDP for local address 192.168.71.161 with port 2152
+122690.500420 [GTPU] I Created gtpu instance id: 97
 ```
+</details>
+
+
 
 You should see the typical periodical output at the DUs:
+
+```bash
+docker logs rfsim5g-oai-du
 ```
-$ docker logs rfsim5g-oai-du
+<details>
+<summary>The output is similar to:</summary>
+
+```console
 [...]
 18626.446953 [NR_MAC] I Frame.Slot 128.0
 
 18629.151076 [NR_MAC] I Frame.Slot 256.0
+```
+</details>
+
 ```
 
 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}
+```
+
 ```bash
-$ docker compose up -d oai-nr-ue{,2,3}
-$ docker logs oai-nr-ue
+docker logs rfsim5g-oai-nr-ue
+```
+
+<details>
+<summary>The output is similar to:</summary>
+
+```console
 [...]
 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
 ```
+</details>
+
+
+Alternatively, check that they all received an IP address (the associated IP addresses might be different):
 
-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
+docker exec -it rfsim5g-oai-nr-ue3 ip a show oaitun_ue1
+```
+<details>
+<summary>The output is similar to:</summary>
+
+```console
 [...]
     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
+```
+</details>
+
+```bash
+docker exec -it rfsim5g-oai-nr-ue2 ip a show oaitun_ue1
+```
+<details>
+<summary>The output is similar to:</summary>
+
+```console
 [...]
     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
+```
+</details>
+
+```bash
+docker exec -it rfsim5g-oai-nr-ue ip a show oaitun_ue1
+```
+<details>
+<summary>The output is similar to:</summary>
+
+```console
 [...]
     inet 12.1.1.3/24 brd 12.1.1.255 scope global oaitun_ue1
 [...]
 ```
+</details>
+
+
 
 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
+docker logs rfsim5g-oai-cucp | grep CU-U
+```
+
+<details>
+<summary>The output is similar to:</summary>
+
+```console
 [...]
 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
@@ -116,10 +201,17 @@ $ docker logs rfsim5g-oai-cucp | grep CU-U
 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
 ```
+</details>
+
 
 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
+docker exec -it rfsim5g-oai-nr-ue ping -c1 12.1.1.1
+```
+<details>
+<summary>The output is similar to:</summary>
+
+```console
 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
 
@@ -127,10 +219,12 @@ PING 12.1.1.1 (12.1.1.1) 56(84) bytes of data.
 1 packets transmitted, 1 received, 0% packet loss, time 0ms
 rtt min/avg/max/mdev = 15.155/15.155/15.155/0.000 ms
 ```
+</details>
+
 
 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
+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 8479e32723..adfdefbccf 100644
--- a/ci-scripts/yaml_files/5g_rfsimulator_e1/docker-compose.yaml
+++ b/ci-scripts/yaml_files/5g_rfsimulator_e1/docker-compose.yaml
@@ -5,9 +5,9 @@ services:
         image: oaisoftwarealliance/oai-nrf:v1.5.0
         environment:
             - NRF_INTERFACE_NAME_FOR_SBI=eth0
-            - TZ=Europe/Paris
+            - TZ=Europe/1
         networks:
-            public_net:
+            core_net:
                 ipv4_address: 192.168.71.130
     mysql:
         container_name: "rfsim5g-mysql"
@@ -16,7 +16,7 @@ services:
             - ../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
+            - TZ=Europe/1
             - MYSQL_DATABASE=oai_db
             - MYSQL_USER=test
             - MYSQL_PASSWORD=test
@@ -27,13 +27,13 @@ services:
             timeout: 5s
             retries: 30
         networks:
-            public_net:
+            core_net:
                 ipv4_address: 192.168.71.131
     oai-amf:
         container_name: "rfsim5g-oai-amf"
         image: oaisoftwarealliance/oai-amf:v1.5.0
         environment:
-            - TZ=Europe/paris
+            - TZ=Europe/1
             - MCC=208
             - MNC=99
             - REGION_ID=128
@@ -76,13 +76,13 @@ services:
             - oai-nrf
             - mysql
         networks:
-            public_net:
+            core_net:
                 ipv4_address: 192.168.71.132
     oai-smf:
         container_name: "rfsim5g-oai-smf"
         image: oaisoftwarealliance/oai-smf:v1.5.0
         environment:
-            - TZ=Europe/Paris
+            - TZ=Europe/1
             - SMF_INTERFACE_NAME_FOR_N4=eth0
             - SMF_INTERFACE_NAME_FOR_SBI=eth0
             - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100
@@ -113,13 +113,13 @@ services:
             - oai-nrf
             - oai-amf
         networks:
-            public_net:
+            core_net:
                 ipv4_address: 192.168.71.133
     oai-spgwu:
         container_name: "rfsim5g-oai-spgwu"
         image: oaisoftwarealliance/oai-spgwu-tiny:v1.5.0
         environment:
-            - TZ=Europe/Paris
+            - TZ=Europe/1
             - SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0
             - SGW_INTERFACE_NAME_FOR_SX=eth0
             - PGW_INTERFACE_NAME_FOR_SGI=eth0
@@ -151,28 +151,8 @@ services:
             - ALL
         privileged: true
         networks:
-            public_net:
+            core_net:
                 ipv4_address: 192.168.71.134
-            traffic_net:
-                ipv4_address: 192.168.75.134
-
-    oai-ext-dn:
-        privileged: true
-        container_name: rfsim5g-oai-ext-dn
-        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.75.134 dev eth0; sleep infinity"
-        depends_on:
-            - oai-spgwu
-        networks:
-            traffic_net:
-                ipv4_address: 192.168.75.135
-        healthcheck:
-            test: /bin/bash -c "ping -c 2 192.168.75.134"
-            interval: 10s
-            timeout: 5s
-            retries: 5
 
     oai-cucp:
         image: oaisoftwarealliance/oai-gnb:develop
@@ -180,12 +160,18 @@ services:
         container_name: rfsim5g-oai-cucp
         environment:
             USE_ADDITIONAL_OPTIONS: --sa --log_config.global_log_options level,nocolor,time
+                                    --gNBs.[0].E1_INTERFACE.[0].ipv4_cucp 192.168.77.2
+                                    --gNBs.[0].local_s_address 192.168.72.2
             ASAN_OPTIONS: detect_leaks=0
         depends_on:
-            - oai-ext-dn
+            - oai-spgwu
         networks:
-            public_net:
+            core_net:
                 ipv4_address: 192.168.71.150
+            f1c_net:
+                ipv4_address: 192.168.72.2
+            e1_net:
+                ipv4_address: 192.168.77.2
         volumes:
             - ../../conf_files/gnb-cucp.sa.f1.conf:/opt/oai-gnb/etc/gnb.conf
         healthcheck:
@@ -200,14 +186,20 @@ services:
         container_name: rfsim5g-oai-cuup
         environment:
             USE_ADDITIONAL_OPTIONS: --sa --log_config.global_log_options level,nocolor,time
+                                    --gNBs.[0].E1_INTERFACE.[0].ipv4_cucp 192.168.77.2
+                                    --gNBs.[0].E1_INTERFACE.[0].ipv4_cuup 192.168.77.3
+                                    --gNBs.[0].local_s_address 192.168.73.2
+                                    --gNBs.[0].remote_s_address 127.0.0.1
             ASAN_OPTIONS: detect_leaks=0
         depends_on:
             - oai-cucp
         networks:
-            public_net:
+            core_net:
                 ipv4_address: 192.168.71.161
-            ran_net:
-                ipv4_address: 192.168.72.161
+            f1u_1_net:
+                ipv4_address: 192.168.73.2
+            e1_net:
+                ipv4_address: 192.168.77.3
         volumes:
             - ../../conf_files/gnb-cuup.sa.f1.conf:/opt/oai-gnb/etc/gnb.conf
         healthcheck:
@@ -223,19 +215,22 @@ services:
         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].E1_INTERFACE.[0].ipv4_cucp 192.168.77.2
+                                    --gNBs.[0].E1_INTERFACE.[0].ipv4_cuup 192.168.77.4
+                                    --gNBs.[0].local_s_address 192.168.74.2
+                                    --gNBs.[0].remote_s_address 127.0.0.1
                                     --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:
+            core_net:
                 ipv4_address: 192.168.71.162
-            ran_net2:
-                ipv4_address: 192.168.73.162
+            f1u_2_net:
+                ipv4_address: 192.168.74.2
+            e1_net:
+                ipv4_address: 192.168.77.4
         volumes:
             - ../../conf_files/gnb-cuup.sa.f1.conf:/opt/oai-gnb/etc/gnb.conf
         healthcheck:
@@ -251,19 +246,22 @@ services:
         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].E1_INTERFACE.[0].ipv4_cucp 192.168.77.2
+                                    --gNBs.[0].E1_INTERFACE.[0].ipv4_cuup 192.168.77.5
+                                    --gNBs.[0].local_s_address 192.168.76.2
+                                    --gNBs.[0].remote_s_address 127.0.0.1
                                     --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:
+            core_net:
                 ipv4_address: 192.168.71.163
-            ran_net3:
-                ipv4_address: 192.168.74.163
+            f1u_3_net:
+                ipv4_address: 192.168.76.2
+            e1_net:
+                ipv4_address: 192.168.77.5
         volumes:
             - ../../conf_files/gnb-cuup.sa.f1.conf:/opt/oai-gnb/etc/gnb.conf
         healthcheck:
@@ -278,16 +276,19 @@ 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
+                                    --MACRLCs.[0].local_n_address 192.168.73.3
+                                    --MACRLCs.[0].remote_n_address 192.168.72.2
             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.171
+            f1c_net:
+                ipv4_address: 192.168.72.3
+            f1u_1_net:
+                ipv4_address: 192.168.73.3
+            ue_net:
+                ipv4_address: 192.168.78.2
         volumes:
             - ../../conf_files/gnb-du.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
         healthcheck:
@@ -305,16 +306,19 @@ services:
                                     --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
+                                    --MACRLCs.[0].local_n_address 192.168.74.3
+                                    --MACRLCs.[0].remote_n_address 192.168.72.2
             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
+            f1c_net:
+                ipv4_address: 192.168.72.4
+            f1u_2_net:
+                ipv4_address: 192.168.74.3
+            ue_net:
+                ipv4_address: 192.168.78.3
         volumes:
             - ../../conf_files/gnb-du.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
         healthcheck:
@@ -332,16 +336,19 @@ services:
                                     --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
+                                    --MACRLCs.[0].local_n_address 192.168.76.3
+                                    --MACRLCs.[0].remote_n_address 192.168.72.2
             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
+            f1c_net:
+                ipv4_address: 192.168.72.5
+            f1u_3_net:
+                ipv4_address: 192.168.76.3
+            ue_net:
+                ipv4_address: 192.168.78.4
         volumes:
             - ../../conf_files/gnb-du.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
         healthcheck:
@@ -358,13 +365,13 @@ services:
             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
+                                    --rfsimulator.serveraddr 192.168.78.2
             ASAN_OPTIONS: detect_leaks=0
         depends_on:
             - oai-du
         networks:
-            public_net:
-                ipv4_address: 192.168.71.181
+            ue_net:
+                ipv4_address: 192.168.78.5
         volumes:
             - ../../conf_files/nrue.uicc.conf:/opt/oai-nr-ue/etc/nr-ue.conf
         healthcheck:
@@ -381,13 +388,13 @@ services:
             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
+                                    --rfsimulator.serveraddr 192.168.78.3
             ASAN_OPTIONS: detect_leaks=0
         depends_on:
             - oai-du2
         networks:
-            public_net:
-                ipv4_address: 192.168.71.182
+            ue_net:
+                ipv4_address: 192.168.78.6
         volumes:
             - ../../conf_files/nrue.uicc.conf:/opt/oai-nr-ue/etc/nr-ue.conf
         healthcheck:
@@ -404,13 +411,13 @@ services:
             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
+                                    --rfsimulator.serveraddr 192.168.78.4
             ASAN_OPTIONS: detect_leaks=0
         depends_on:
             - oai-du3
         networks:
-            public_net:
-                ipv4_address: 192.168.71.183
+            ue_net:
+                ipv4_address: 192.168.78.7
         volumes:
             - ../../conf_files/nrue.uicc.conf:/opt/oai-nr-ue/etc/nr-ue.conf
         healthcheck:
@@ -420,43 +427,59 @@ services:
             retries: 5
 
 networks:
-    public_net:
+    core_net:
         driver: bridge
-        name: rfsim5g-oai-public-net
+        name: rfsim5g-oai-core-net
         ipam:
             config:
                 - subnet: 192.168.71.128/26
         driver_opts:
-            com.docker.network.bridge.name: "rfsim5g-public"
-    ran_net:
+            com.docker.network.bridge.name: "rfsim5g-core"
+    f1c_net:
+        driver: bridge
+        name: rfsim5g-oai-f1c-net
+        ipam:
+            config:
+                - subnet: 192.168.72.0/28
+        driver_opts:
+            com.docker.network.bridge.name: "rfsim5g-f1c"
+    f1u_1_net:
+        driver: bridge
+        name: rfsim5g-oai-f1u-1-net
+        ipam:
+            config:
+                - subnet: 192.168.73.0/28
+        driver_opts:
+            com.docker.network.bridge.name: "rfsim5g-f1u_1"
+    f1u_2_net:
         driver: bridge
-        name: rfsim5g-oai-ran-net
+        name: rfsim5g-oai-f1u-2-net
         ipam:
             config:
-                - subnet: 192.168.72.128/26
+                - subnet: 192.168.74.0/28
         driver_opts:
-            com.docker.network.bridge.name: "rfsim5g-ran"
-    ran_net2:
+            com.docker.network.bridge.name: "rfsim5g-f1u_2"
+    f1u_3_net:
         driver: bridge
-        name: rfsim5g-oai-ran-net2
+        name: rfsim5g-oai-f1u-3-net
         ipam:
             config:
-                - subnet: 192.168.73.128/26
+                - subnet: 192.168.76.0/28
         driver_opts:
-            com.docker.network.bridge.name: "rfsim5g-ran2"
-    ran_net3:
+            com.docker.network.bridge.name: "rfsim5g-f1u_3"
+    e1_net:
         driver: bridge
-        name: rfsim5g-oai-ran-net3
+        name: rfsim5g-oai-e1-net
         ipam:
             config:
-                - subnet: 192.168.74.128/26
+                - subnet: 192.168.77.1/28
         driver_opts:
-            com.docker.network.bridge.name: "rfsim5g-ran3"
-    traffic_net:
+            com.docker.network.bridge.name: "rfsim5g-e1"
+    ue_net:
         driver: bridge
-        name: rfsim5g-oai-traffic_net-net
+        name: rfsim5g-oai-ue-net
         ipam:
             config:
-                - subnet: 192.168.75.128/26
+                - subnet: 192.168.78.1/28
         driver_opts:
-            com.docker.network.bridge.name: "rfsim5g-traffic"
+            com.docker.network.bridge.name: "rfsim5g-ue"
-- 
2.26.2