The 5G-RFsim F1 test tested multiple DUs at one CU. This functionality is retained in the new F1+E1 test. The 5G-RFsim E1 test tested a single CU-UP at a single CU-CP. Here, we extend to use multiple CU-UPs, one for each DU. The associated is ensured by using three different F1-U transport networks, one for each DU/CU-UP pair.
463 lines
16 KiB
YAML
463 lines
16 KiB
YAML
version: '3.8'
|
|
services:
|
|
oai-nrf:
|
|
container_name: "rfsim5g-oai-nrf"
|
|
image: oaisoftwarealliance/oai-nrf:v1.5.0
|
|
environment:
|
|
- NRF_INTERFACE_NAME_FOR_SBI=eth0
|
|
- TZ=Europe/Paris
|
|
networks:
|
|
public_net:
|
|
ipv4_address: 192.168.71.130
|
|
mysql:
|
|
container_name: "rfsim5g-mysql"
|
|
image: mysql:8.0
|
|
volumes:
|
|
- ../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
|
|
- MYSQL_USER=test
|
|
- MYSQL_PASSWORD=test
|
|
- MYSQL_ROOT_PASSWORD=linux
|
|
healthcheck:
|
|
test: /bin/bash -c "/tmp/mysql-healthcheck.sh"
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 30
|
|
networks:
|
|
public_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
|
|
- MCC=208
|
|
- MNC=99
|
|
- REGION_ID=128
|
|
- AMF_SET_ID=1
|
|
- SERVED_GUAMI_MCC_0=208
|
|
- SERVED_GUAMI_MNC_0=99
|
|
- SERVED_GUAMI_REGION_ID_0=128
|
|
- SERVED_GUAMI_AMF_SET_ID_0=1
|
|
- SERVED_GUAMI_MCC_1=460
|
|
- SERVED_GUAMI_MNC_1=11
|
|
- SERVED_GUAMI_REGION_ID_1=10
|
|
- SERVED_GUAMI_AMF_SET_ID_1=1
|
|
- PLMN_SUPPORT_MCC=208
|
|
- PLMN_SUPPORT_MNC=99
|
|
- PLMN_SUPPORT_TAC=0x0001
|
|
# 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
|
|
- SMF_INSTANCE_ID_0=1
|
|
- SMF_FQDN_0=oai-smf
|
|
- SMF_IPV4_ADDR_0=192.168.71.133
|
|
- SELECTED_0=true
|
|
# mysql definition in AMF is mandatory in mini deployment.
|
|
- MYSQL_SERVER=192.168.71.131
|
|
- MYSQL_USER=root
|
|
- MYSQL_PASS=linux
|
|
- MYSQL_DB=oai_db
|
|
# NF registration
|
|
- NRF_IPV4_ADDRESS=192.168.71.130
|
|
- NRF_FQDN=oai-nrf
|
|
- NF_REGISTRATION=yes
|
|
- SMF_SELECTION=yes
|
|
- USE_FQDN_DNS=yes
|
|
- USE_HTTP2=no
|
|
depends_on:
|
|
- oai-nrf
|
|
- mysql
|
|
networks:
|
|
public_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
|
|
- SMF_INTERFACE_NAME_FOR_N4=eth0
|
|
- SMF_INTERFACE_NAME_FOR_SBI=eth0
|
|
- DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100
|
|
- DEFAULT_DNS_SEC_IPV4_ADDRESS=4.4.4.4
|
|
- AMF_IPV4_ADDRESS=192.168.71.132
|
|
- AMF_FQDN=oai-amf
|
|
- UPF_IPV4_ADDRESS=192.168.71.134
|
|
- UPF_FQDN_0=oai-spgwu
|
|
- NRF_IPV4_ADDRESS=192.168.71.130
|
|
- NRF_FQDN=oai-nrf
|
|
- REGISTER_NRF=yes
|
|
- DISCOVER_UPF=yes
|
|
- USE_FQDN_DNS=yes
|
|
- USE_LOCAL_SUBSCRIPTION_INFO=yes
|
|
- UE_MTU=1500
|
|
# Only one slice is defined (1, 0xFFFFFF)
|
|
- DNN_NI0=oai
|
|
- 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
|
|
- ENABLE_USAGE_REPORTING=no
|
|
depends_on:
|
|
- oai-nrf
|
|
- oai-amf
|
|
networks:
|
|
public_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
|
|
- SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0
|
|
- SGW_INTERFACE_NAME_FOR_SX=eth0
|
|
- PGW_INTERFACE_NAME_FOR_SGI=eth0
|
|
- NETWORK_UE_NAT_OPTION=yes
|
|
- NETWORK_UE_IP=12.1.1.0/24
|
|
- ENABLE_5G_FEATURES=yes
|
|
- REGISTER_NRF=yes
|
|
- USE_FQDN_NRF=yes
|
|
- UPF_FQDN_5G=oai-spgwu
|
|
- NRF_IPV4_ADDRESS=192.168.71.130
|
|
- NRF_FQDN=oai-nrf
|
|
# 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
|
|
cap_add:
|
|
- NET_ADMIN
|
|
- SYS_ADMIN
|
|
cap_drop:
|
|
- ALL
|
|
privileged: true
|
|
networks:
|
|
public_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
|
|
privileged: true
|
|
container_name: rfsim5g-oai-cucp
|
|
environment:
|
|
USE_ADDITIONAL_OPTIONS: --sa --log_config.global_log_options level,nocolor,time
|
|
ASAN_OPTIONS: detect_leaks=0
|
|
depends_on:
|
|
- oai-ext-dn
|
|
networks:
|
|
public_net:
|
|
ipv4_address: 192.168.71.150
|
|
volumes:
|
|
- ../../conf_files/gnb-cucp.sa.f1.conf:/opt/oai-gnb/etc/gnb.conf
|
|
healthcheck:
|
|
test: /bin/bash -c "pgrep nr-softmodem"
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
oai-cuup:
|
|
image: oaisoftwarealliance/oai-nr-cuup:develop
|
|
privileged: true
|
|
container_name: rfsim5g-oai-cuup
|
|
environment:
|
|
USE_ADDITIONAL_OPTIONS: --sa --log_config.global_log_options level,nocolor,time
|
|
ASAN_OPTIONS: detect_leaks=0
|
|
depends_on:
|
|
- oai-cucp
|
|
networks:
|
|
public_net:
|
|
ipv4_address: 192.168.71.161
|
|
ran_net:
|
|
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:
|
|
test: /bin/bash -c "pgrep nr-cuup"
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
oai-du:
|
|
image: oaisoftwarealliance/oai-gnb:develop
|
|
privileged: true
|
|
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.171
|
|
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-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
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
oai-nr-ue:
|
|
image: oaisoftwarealliance/oai-nr-ue:develop
|
|
privileged: true
|
|
container_name: rfsim5g-oai-nr-ue
|
|
environment:
|
|
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:
|
|
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:
|
|
test: /bin/bash -c "pgrep nr-uesoftmodem"
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
networks:
|
|
public_net:
|
|
driver: bridge
|
|
name: rfsim5g-oai-public-net
|
|
ipam:
|
|
config:
|
|
- subnet: 192.168.71.128/26
|
|
driver_opts:
|
|
com.docker.network.bridge.name: "rfsim5g-public"
|
|
ran_net:
|
|
driver: bridge
|
|
name: rfsim5g-oai-ran-net
|
|
ipam:
|
|
config:
|
|
- 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.75.128/26
|
|
driver_opts:
|
|
com.docker.network.bridge.name: "rfsim5g-traffic"
|