From 5b0b2ab359fb71222cb463c3bbac055638aaa4f4 Mon Sep 17 00:00:00 2001 From: Reem Bahsoun Date: Fri, 8 Nov 2024 15:21:16 +0100 Subject: [PATCH] Delete 5g_l2sim related files --- .../gnb.sa.band78.106prb.l2sim.conf | 213 ---------- .../xml_files/container_5g_l2sim_tdd.xml | 133 ------ ci-scripts/yaml_files/5g_l2sim_tdd/README.md | 396 ------------------ .../5g_l2sim_tdd/docker-compose.yaml | 165 -------- doc/README.md | 1 - 5 files changed, 908 deletions(-) delete mode 100644 ci-scripts/conf_files/gnb.sa.band78.106prb.l2sim.conf delete mode 100644 ci-scripts/xml_files/container_5g_l2sim_tdd.xml delete mode 100644 ci-scripts/yaml_files/5g_l2sim_tdd/README.md delete mode 100644 ci-scripts/yaml_files/5g_l2sim_tdd/docker-compose.yaml diff --git a/ci-scripts/conf_files/gnb.sa.band78.106prb.l2sim.conf b/ci-scripts/conf_files/gnb.sa.band78.106prb.l2sim.conf deleted file mode 100644 index 6b3f490a82..0000000000 --- a/ci-scripts/conf_files/gnb.sa.band78.106prb.l2sim.conf +++ /dev/null @@ -1,213 +0,0 @@ -Active_gNBs = ( "gnb-l2sim-vnf"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -gNBs = -( - { - ////////// Identification parameters: - gNB_ID = 0xe00; - gNB_name = "gnb-l2sim-vnf"; - - // 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 }) }); - - nr_cellid = 12345678L; - - ////////// Physical parameters: - - min_rxtxtime = 6; - - servingCellConfigCommon = ( - { - #spCellConfigCommon - - physCellId = 0; - -# downlinkConfigCommon - #frequencyInfoDL - # this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP) - absoluteFrequencySSB = 641280; - dl_frequencyBand = 78; - # this is 3600 MHz - dl_absoluteFrequencyPointA = 640008; - #scs-SpecificCarrierList - dl_offstToCarrier = 0; -# subcarrierSpacing -# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - dl_subcarrierSpacing = 1; - dl_carrierBandwidth = 106; - #initialDownlinkBWP - #genericParameters - # this is RBstart=27,L=48 (275*(L-1))+RBstart - initialDLBWPlocationAndBandwidth = 12952; # 6366 12925 12956 28875 12952 -# subcarrierSpacing -# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - initialDLBWPsubcarrierSpacing = 1; - #pdcch-ConfigCommon - initialDLBWPcontrolResourceSetZero = 12; - initialDLBWPsearchSpaceZero = 0; - - #uplinkConfigCommon - #frequencyInfoUL - ul_frequencyBand = 78; - #scs-SpecificCarrierList - ul_offstToCarrier = 0; -# subcarrierSpacing -# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - ul_subcarrierSpacing = 1; - ul_carrierBandwidth = 106; - pMax = 20; - #initialUplinkBWP - #genericParameters - initialULBWPlocationAndBandwidth = 12952; -# subcarrierSpacing -# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - initialULBWPsubcarrierSpacing = 1; - #rach-ConfigCommon - #rach-ConfigGeneric - prach_ConfigurationIndex = 98; -#prach_msg1_FDM -#0 = one, 1=two, 2=four, 3=eight - prach_msg1_FDM = 0; - prach_msg1_FrequencyStart = 0; - zeroCorrelationZoneConfig = 13; - preambleReceivedTargetPower = -96; -#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200) - preambleTransMax = 6; -#powerRampingStep -# 0=dB0,1=dB2,2=dB4,3=dB6 - powerRampingStep = 1; -#ra_ReponseWindow -#1,2,4,8,10,20,40,80 - ra_ResponseWindow = 4; -#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR -#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen - ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4; -#oneHalf (0..15) 4,8,12,16,...60,64 - ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14; -#ra_ContentionResolutionTimer -#(0..7) 8,16,24,32,40,48,56,64 - ra_ContentionResolutionTimer = 7; - rsrp_ThresholdSSB = 19; -#prach-RootSequenceIndex_PR -#1 = 839, 2 = 139 - prach_RootSequenceIndex_PR = 2; - prach_RootSequenceIndex = 1; - # SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex - # - msg1_SubcarrierSpacing = 1, -# restrictedSetConfig -# 0=unrestricted, 1=restricted type A, 2=restricted type B - restrictedSetConfig = 0, - - msg3_DeltaPreamble = 1; - p0_NominalWithGrant =-90; - -# pucch-ConfigCommon setup : -# pucchGroupHopping -# 0 = neither, 1= group hopping, 2=sequence hopping - pucchGroupHopping = 0; - hoppingId = 40; - p0_nominal = -90; - - ssb_PositionsInBurst_Bitmap = 1; - -# ssb_periodicityServingCell -# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1 - ssb_periodicityServingCell = 2; - -# dmrs_TypeA_position -# 0 = pos2, 1 = pos3 - dmrs_TypeA_Position = 0; - -# subcarrierSpacing -# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - subcarrierSpacing = 1; - - - #tdd-UL-DL-ConfigurationCommon -# subcarrierSpacing -# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - referenceSubcarrierSpacing = 1; - # pattern1 - # dl_UL_TransmissionPeriodicity - # 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10 - dl_UL_TransmissionPeriodicity = 6; - nrofDownlinkSlots = 7; - nrofDownlinkSymbols = 6; - nrofUplinkSlots = 2; - nrofUplinkSymbols = 4; - - ssPBCH_BlockPower = -25; - } - - ); - - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - - ////////// AMF parameters: - amf_ip_address = ({ ipv4 = "192.168.71.132"; }); - - - NETWORK_INTERFACES : - { - GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.21.16.128"; - GNB_IPV4_ADDRESS_FOR_NGU = "172.21.16.128"; - GNB_PORT_FOR_NGU = 2152; # Spec 2152 - }; - - } -); - -MACRLCs = ( - { - num_cc = 1; - remote_s_address = "127.0.0.1"; // pnf addr [!] - local_s_address = "127.0.0.2"; // vnf addr - local_s_portc = 50601; // vnf p5 port - remote_s_portc = 50600; // pnf p5 port [!] - local_s_portd = 50611; // vnf p7 port [!] - remote_s_portd = 50610; // pnf p7 port [!] - tr_s_preference = "nfapi"; - tr_n_preference = "local_RRC"; - } -); - -security = { - # preferred ciphering algorithms - # the first one of the list that an UE supports in chosen - # valid values: nea0, nea1, nea2, nea3 - ciphering_algorithms = ( "nea0" ); - - # preferred integrity algorithms - # the first one of the list that an UE supports in chosen - # valid values: nia0, nia1, nia2, nia3 - integrity_algorithms = ( "nia2", "nia0" ); - - # setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter - # what 'ciphering_algorithms' configures; same thing for 'drb_integrity' - drb_ciphering = "yes"; - drb_integrity = "no"; -}; - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - ngap_log_level ="debug"; - }; diff --git a/ci-scripts/xml_files/container_5g_l2sim_tdd.xml b/ci-scripts/xml_files/container_5g_l2sim_tdd.xml deleted file mode 100644 index c3e4662294..0000000000 --- a/ci-scripts/xml_files/container_5g_l2sim_tdd.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - l2sim-5gnr-tdd - Testing 5G NR L2 sim - TDD gNB - wrench - - 111111 - 800813 - 000000 - 000001 - 000002 - 000003 - 000004 - 020001 - 020002 - 100001 - 222222 - - - - - Pull_Local_Registry - Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue-asan - - - Create_Workspace - Create new Workspace - 0 - 0 - - - Deploy_Object - Deploy MySql Database - ci-scripts/yaml_files/5g_l2sim_tdd - mysql - 0 - 0 - - - - Deploy_Object - Deploy OAI 5G CoreNetwork - ci-scripts/yaml_files/5g_l2sim_tdd - oai-amf oai-smf oai-upf oai-ext-dn - 0 - 0 - - - - Deploy_Object - Deploy OAI 5G gNB L2 sim SA - ci-scripts/yaml_files/5g_l2sim_tdd - oai-gnb - 0 - 0 - - - - Deploy_Object - Deploy OAI 5G NR-UE L2 sim SA and Proxy - ci-scripts/yaml_files/5g_l2sim_tdd - proxy oai-nr-ue0 - 0 - 0 - - - - Attach_UE - Attach OAI UE - l2sim5g_ue - localhost - - - - Ping - Ping ext-dn from NR-UE - l2sim5g_ue - localhost - -c 20 192.168.72.135 - 5 - - - - Ping - Ping NR-UE from ext-dn - l2sim5g_ext_dn - localhost - -c 20 12.1.1.2 - 5 - - - - Undeploy_Object - true - Undeploy all OAI 5G stack - ci-scripts/yaml_files/5g_l2sim_tdd - 20,50,100,100 - 0,0,0,0 - 0 - 0 - - - - Clean_Test_Server_Images - true - Clean Test Images on Test Server - 0 - - - diff --git a/ci-scripts/yaml_files/5g_l2sim_tdd/README.md b/ci-scripts/yaml_files/5g_l2sim_tdd/README.md deleted file mode 100644 index 6579fcac5f..0000000000 --- a/ci-scripts/yaml_files/5g_l2sim_tdd/README.md +++ /dev/null @@ -1,396 +0,0 @@ - - - - - -
- - - - - - OAI Full Stack 5G-NR L2 simulation with containers and a proxy -
- -It is also valid for `Ubuntu 22.04`. - -# 1. Adapt the `docker-compose` to your environment # -The yaml file is in the following directory: `ci-scripts/yaml_files/5g_l2sim_tdd` - -In the `SMF` section, provide your own DNS IP address: - -```yaml - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 -``` -gNB section: - -All the parameter values will be taken from the mounted config file: - -```yaml -oai-gnb: - [...] - volumes: - - ../../conf_files/gnb.sa.band78.106prb.l2sim.conf:/opt/oai-gnb/etc/gnb.conf -``` - -You need to provide your docker-host primary IP address and interface name: in our case `172.21.16.128` and `eno1`. -The following refers to the contents of the previously mentioned .conf file - -```yaml - GNB_NGA_IF_NAME: eno1 - GNB_NGA_IP_ADDRESS: 172.21.16.128 - GNB_NGU_IF_NAME: eno1 - GNB_NGU_IP_ADDRESS: 172.21.16.128 -``` - -For the UE, all the parameter values will be taken from the mounted config -file, in the section `oai-nr-ue0`: - -```yaml - oai-nr-ue0: - [...] - volumes: - - ../../conf_files/nrue.band78.106prb.l2sim.conf:/opt/oai-nr-ue/etc/nr-ue.conf - - ../../../openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results:/opt/oai-nr-ue/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results -``` - -In this section, you need to set the proper value `remote_n_address` -where the UE configuration (mounted to `/opt/oai-nr-ue/etc/nr-ue.conf`) reads: - -```libconfig -MACRLCs = ( - { - num_cc = 1; - tr_n_preference = "nfapi"; - remote_n_address = "127.0.0.1"; //Proxy IP - local_n_address = "127.0.0.1"; - ... -``` - -This tutorial is a first draft. This nFAPI feature and the proxy are still under development. - -At time of writing, we were able to run in `host-mode`, 1 `NR-UE` and just ping traffic. - - - - -# 2. Retrieving the images on Docker-Hub # - -Currently the images are hosted under the team account `oaisoftwarealliance`. They were previously hosted under the user account `rdefosseoai`. - -Once again you may need to log on [docker-hub](https://hub.docker.com/) if your organization has reached pulling limit as `anonymous`. - -```bash -docker login -``` -```bash -Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. -Username: -Password: -``` - -Now pull images. - -```bash -docker pull mysql:8.0 -docker pull oaisoftwarealliance/oai-amf:v2.0.0 -docker pull oaisoftwarealliance/oai-smf:v2.0.0 -docker pull oaisoftwarealliance/oai-upf:v2.0.0 -docker pull oaisoftwarealliance/trf-gen-cn5g:focal - -docker pull oaisoftwarealliance/oai-gnb:develop -docker pull oaisoftwarealliance/oai-nr-ue:develop -docker pull oaisoftwarealliance/proxy:develop -``` - -And **re-tag** them for tutorials' docker-compose file to work. - -```bash -docker image tag oaisoftwarealliance/proxy:develop oai-lte-multi-ue-proxy:latest -``` - -```bash -docker logout -``` - -Note that the proxy image is based on the source available at [https://github.com/EpiSci/oai-lte-5g-multi-ue-proxy](https://github.com/EpiSci/oai-lte-5g-multi-ue-proxy). - -At time of writing, the `latest` tag corresponded to `56cfdc046a5f96d5e67d42a2fc2bf6ba2fe58b41` commit. - -# 3. Deploy containers # - -**CAUTION: this SHALL be done in multiple steps.** - -**Just `docker-compose up -d` WILL NOT WORK!** - -All the following commands **SHALL** be run from the `ci-scripts/yaml_files/5g_l2sim_tdd` folder. - -The `gNB`, `proxy` and `NR-UE` containers will be deployed in `host`-mode. It will use the host loopback interface to connect. - -```bash -sudo ifconfig lo: 127.0.0.2 netmask 255.0.0.0 up -``` - -## 3.1. Deploy OAI 5G Core Network ## - -```bash -cd ci-scripts/yaml_files/5g_l2sim_tdd -docker-compose up -d mysql oai-amf oai-smf oai-upf oai-ext-dn -``` -```bash -Creating network "l2sim-oai-public-net" with driver "bridge" -Creating network "l2sim-oai-traffic_net-net" with driver "bridge" -Creating l2sim-mysql ... done -Creating l2sim-oai-upf ... done -Creating l2sim-oai-amf ... done -Creating l2sim-oai-smf ... done -Creating l2sim-oai-ext-dn ... done -``` - -Wait for a bit. - -```bash -docker-compose ps -a -``` -```bash - Name Command State Ports -------------------------------------------------------------------------------------------------- -l2sim-mysql docker-entrypoint.sh mysqld Up (healthy) 3306/tcp, 33060/tcp -l2sim-oai-amf /bin/bash /openair-amf/bin ... Up (healthy) 38412/sctp, 80/tcp, 9090/tcp -l2sim-oai-ext-dn /bin/bash -c apt update; ... Up (healthy) -l2sim-oai-smf /bin/bash /openair-smf/bin ... Up (healthy) 80/tcp, 8805/udp, 9090/tcp -l2sim-oai-upf /bin/bash /openair-upf/bin ... Up (healthy) 2152/udp, 8805/udp -``` - -At this point, you can prepare a capture on the newly-created public docker bridges: - -```bash -ifconfig -``` -```bash -... -l2sim-public: flags=4163 mtu 1500 - inet 192.168.71.129 netmask 255.255.255.192 broadcast 192.168.71.191 - inet6 fe80::42:c4ff:fe2b:3d38 prefixlen 64 scopeid 0x20 - ether 02:42:c4:2b:3d:38 txqueuelen 0 (Ethernet) - RX packets 4 bytes 112 (112.0 B) - RX errors 0 dropped 0 overruns 0 frame 0 - TX packets 7 bytes 626 (626.0 B) - TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 - -l2sim-traffic: flags=4163 mtu 1500 - inet 192.168.72.129 netmask 255.255.255.192 broadcast 192.168.72.191 - inet6 fe80::42:b5ff:fed3:e732 prefixlen 64 scopeid 0x20 - ether 02:42:b5:d3:e7:32 txqueuelen 0 (Ethernet) - RX packets 2652 bytes 142335 (142.3 KB) - RX errors 0 dropped 0 overruns 0 frame 0 - TX packets 3999 bytes 23367972 (23.3 MB) - TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 -... -``` -```bash -sudo nohup tshark -f "(host 192.168.72.135 and icmp) or (not host 192.168.72.135 and not arp and not port 53 and not port 2152 and not port 2153)" -i l2sim-public -i l2sim-traffic -w /tmp/capture_5g_l2sim_tdd.pcap > /tmp/tshark.log 2>&1 & -``` - -## 3.2. Deploy OAI gNB in Standalone Mode as a VNF ## - -**CAUTION: To execute this 2nd step, the whole `CN5G` SHALL be in `healthy` state (especially the `mysql` container).** - -```bash -docker-compose up -d oai-gnb -``` -```bash -l2sim-oai-upf is up-to-date -l2sim-oai-ext-dn is up-to-date -Creating l2sim-oai-gnb ... done -``` - -Wait for a bit. - -```bash -$ docker-compose ps -a -``` -```bash - Name Command State Ports -------------------------------------------------------------------------------------------------- -l2sim-mysql docker-entrypoint.sh mysqld Up (healthy) 3306/tcp, 33060/tcp -l2sim-oai-amf /bin/bash /openair-amf/bin ... Up (healthy) 38412/sctp, 80/tcp, 9090/tcp -l2sim-oai-ext-dn /bin/bash -c apt update; ... Up (healthy) -l2sim-oai-gnb /opt/oai-gnb/bin/entrypoin ... Up (healthy) -l2sim-oai-smf /bin/bash /openair-smf/bin ... Up (healthy) 80/tcp, 8805/udp, 9090/tcp -l2sim-oai-upf /bin/bash /openair-upf/bin ... Up (healthy) 2152/udp, 8805/udp -``` - -You can verify that the `gNB` is connected with the `AMF`: - -```bash -docker logs l2sim-oai-amf -``` -```bash -... -[AMF] [amf_app] [info ] |----------------------------------------------------gNBs' information-------------------------------------------| -[AMF] [amf_app] [info ] | Index | Status | Global ID | gNB Name | PLMN | -[AMF] [amf_app] [info ] | 1 | Connected | 0x0 | gnb-l2sim-vnf | 208, 99 | -[AMF] [amf_app] [info ] |----------------------------------------------------------------------------------------------------------------| -... -``` - -## 3.3. Deploy OAI NR-UE and proxy - -```bash -docker-compose up -d proxy oai-nr-ue -``` -```bash -l2sim-mysql is up-to-date -l2sim-oai-amf is up-to-date -l2sim-oai-smf is up-to-date -l2sim-oai-upf is up-to-date -l2sim-oai-ext-dn is up-to-date -l2sim-oai-gnb is up-to-date -Creating l2sim-oai-nr-ue ... done -Creating l2sim-proxy ... done -``` - -Wait for a bit. - -```bash -docker-compose ps -a -``` -```bash - Name Command State Ports -------------------------------------------------------------------------------------------------- -l2sim-mysql docker-entrypoint.sh mysqld Up (healthy) 3306/tcp, 33060/tcp -l2sim-oai-amf /bin/bash /openair-amf/bin ... Up (healthy) 38412/sctp, 80/tcp, 9090/tcp -l2sim-oai-ext-dn /bin/bash -c apt update; ... Up (healthy) -l2sim-oai-gnb /opt/oai-gnb/bin/entrypoin ... Up (healthy) -l2sim-oai-nr-ue0 /opt/oai-nr-ue/bin/entrypo ... Up (healthy) -l2sim-oai-smf /bin/bash /openair-smf/bin ... Up (healthy) 80/tcp, 8805/udp, 9090/tcp -l2sim-oai-upf /bin/bash /openair-upf/bin ... Up (healthy) 2152/udp, 8805/udp -l2sim-proxy /oai-lte-multi-ue-proxy/bi ... Up (healthy) -``` -```bash -docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}} {{.MemUsage}}\t{{.MemPerc}}" l2sim-mysql l2sim-oai-amf l2sim-oai-ext-dn l2sim-oai-gnb l2sim-oai-nr-ue0 l2sim-oai-smf l2sim-oai-upf l2sim-proxy -``` -```bash -CONTAINER CPU % MEM USAGE / LIMIT MEM % -l2sim-mysql 0.03% 206.7MiB / 62.54GiB 0.32% -l2sim-oai-amf 4.05% 29.49MiB / 62.54GiB 0.05% -l2sim-oai-ext-dn 0.00% 31.27MiB / 62.54GiB 0.05% -l2sim-oai-gnb 1.29% 1.853GiB / 62.54GiB 2.96% -l2sim-oai-nr-ue0 1.43% 350.8MiB / 62.54GiB 0.55% -l2sim-oai-smf 3.24% 30.23MiB / 62.54GiB 0.05% -l2sim-oai-upf 0.00% 11.78MiB / 62.54GiB 0.02% -l2sim-proxy 6.97% 290.4MiB / 62.54GiB 0.45% -``` - -**CAUTION: As you can see the CPU usage is not that important compared to a 5G RF simulator equivalent.** - -But the CPU speed matters; I am running on a fast server: - -```bash -lscpu -``` -```bash -Architecture: x86_64 -CPU(s): 16 -... -Model name: Intel(R) Xeon(R) Silver 4215R CPU @ 3.20GHz -``` - -I tried on a slower server with more CPUs and it did not work: - -```bash -oaici@orion:~$ lscpu -Architecture: x86_64 -CPU(s): 48 -... -Model name: Intel(R) Xeon(R) CPU E5-2658 v3 @ 2.20GHz -``` - -We will work on this issue. - - -Making sure the OAI UE is connected: - -```bash -docker exec -it l2sim-oai-nr-ue0 /bin/bash -``` -```bash -root@bb4d400a832d:/opt/oai-nr-ue# ifconfig -eth0: flags=4163 mtu 1500 - inet 192.168.71.137 netmask 255.255.255.192 broadcast 192.168.71.191 - ether 02:42:c0:a8:47:89 txqueuelen 0 (Ethernet) - RX packets 224259 bytes 5821372018 (5.8 GB) - RX errors 0 dropped 0 overruns 0 frame 0 - TX packets 235916 bytes 7848786376 (7.8 GB) - TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 - -lo: flags=73 mtu 65536 - inet 127.0.0.1 netmask 255.0.0.0 - loop txqueuelen 1000 (Local Loopback) - RX packets 0 bytes 0 (0.0 B) - RX errors 0 dropped 0 overruns 0 frame 0 - TX packets 0 bytes 0 (0.0 B) - TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 - -oaitun_ue1: flags=4305 mtu 1500 - inet 12.1.1.2 netmask 255.255.255.0 destination 12.1.1.2 - unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC) - RX packets 0 bytes 0 (0.0 B) - RX errors 0 dropped 0 overruns 0 frame 0 - TX packets 0 bytes 0 (0.0 B) - TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 -``` - -# 4. Check traffic # - -## 4.1. Check your Internet connectivity ## - -You can also check with the `ext-dn` container (IP address is `192.168.72.135` in docker-compose) - -```bash -docker exec -it l2sim-oai-nr-ue0 /bin/bash -``` -```bash -ping -I oaitun_ue1 -c 20 192.168.72.135 -``` -```bash -root@bb4d400a832d# ping -I oaitun_ue1 -c 20 192.168.72.135 -PING 192.168.72.135 (192.168.72.135) from 12.1.1.2 oaitun_ue1: 56(84) bytes of data. -64 bytes from 192.168.72.135: icmp_seq=1 ttl=63 time=65.1 ms -64 bytes from 192.168.72.135: icmp_seq=2 ttl=63 time=74.2 ms -... -64 bytes from 192.168.72.135: icmp_seq=19 ttl=63 time=25.0 ms -64 bytes from 192.168.72.135: icmp_seq=20 ttl=63 time=34.7 ms - ---- 192.168.72.135 ping statistics --- -20 packets transmitted, 20 received, 0% packet loss, time 19025ms -rtt min/avg/max/mdev = 16.413/120.639/209.673/57.159 ms -``` - -# 5. Un-deployment # - -```bash -docker-compose down -``` -```bash -Stopping l2sim-oai-nr-ue2 ... done -Stopping l2sim-oai-nr-ue ... done -Stopping l2sim-oai-gnb ... done -Stopping l2sim-oai-ext-dn ... done -Stopping l2sim-oai-upf ... done -Stopping l2sim-oai-smf ... done -Stopping l2sim-oai-amf ... done -Stopping l2sim-mysql ... done -Removing l2sim-oai-nr-ue2 ... done -Removing l2sim-oai-nr-ue ... done -Removing l2sim-oai-gnb ... done -Removing l2sim-oai-ext-dn ... done -Removing l2sim-oai-upf ... done -Removing l2sim-oai-smf ... done -Removing l2sim-oai-amf ... done -Removing l2sim-mysql ... done -Removing network l2sim-oai-public-net -Removing network l2sim-oai-traffic-net -``` - diff --git a/ci-scripts/yaml_files/5g_l2sim_tdd/docker-compose.yaml b/ci-scripts/yaml_files/5g_l2sim_tdd/docker-compose.yaml deleted file mode 100644 index 67f64983d2..0000000000 --- a/ci-scripts/yaml_files/5g_l2sim_tdd/docker-compose.yaml +++ /dev/null @@ -1,165 +0,0 @@ -services: - mysql: - container_name: "l2sim-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 - 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: "l2sim-oai-amf" - image: oaisoftwarealliance/oai-amf:v2.0.0 - environment: - - TZ=Europe/paris - volumes: - - ../5g_rfsimulator/mini_nonrf_config.yaml:/openair-amf/etc/config.yaml - depends_on: - - mysql - networks: - public_net: - ipv4_address: 192.168.71.132 - oai-smf: - container_name: "l2sim-oai-smf" - image: oaisoftwarealliance/oai-smf:v2.0.0 - environment: - - TZ=Europe/Paris - volumes: - - ../5g_rfsimulator/mini_nonrf_config.yaml:/openair-smf/etc/config.yaml - depends_on: - - oai-amf - networks: - public_net: - ipv4_address: 192.168.71.133 - oai-upf: - container_name: "l2sim-oai-upf" - image: oaisoftwarealliance/oai-upf:v2.0.0 - environment: - - TZ=Europe/Paris - volumes: - - ../5g_rfsimulator/mini_nonrf_config.yaml:/openair-upf/etc/config.yaml - depends_on: - - 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.72.134 - oai-ext-dn: - privileged: true - container_name: "l2sim-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.72.134 dev eth0; sleep infinity" - depends_on: - - oai-upf - networks: - traffic_net: - ipv4_address: 192.168.72.135 - healthcheck: - test: /bin/bash -c "ping -c 2 192.168.72.134" - interval: 10s - timeout: 5s - retries: 5 - oai-gnb: - image: ${REGISTRY:-oaisoftwarealliance}/${GNB_IMG:-oai-gnb}:${TAG:-develop} - container_name: "l2sim-oai-gnb" - cap_drop: - - ALL - network_mode: "host" - environment: - TZ: Europe/Paris - USE_ADDITIONAL_OPTIONS: --sa --nfapi VNF --emulate-l1 --log_config.global_log_options level,time,thread_id,nocolor - ASAN_OPTIONS: detect_leaks=0 - depends_on: - - oai-upf - - oai-amf - volumes: - - ../../conf_files/gnb.sa.band78.106prb.l2sim.conf:/opt/oai-gnb/etc/gnb.conf - healthcheck: - test: /bin/bash -c "pgrep nr-softmodem" - interval: 10s - timeout: 5s - retries: 5 - - proxy: - image: oai-lte-multi-ue-proxy:latest - container_name: "l2sim-proxy" - cap_drop: - - ALL - network_mode: "host" - environment: - TZ: Europe/Paris - command: "/oai-lte-multi-ue-proxy/bin/proxy 1 --nr" - depends_on: - - oai-gnb - healthcheck: - test: /bin/bash -c "pgrep proxy" - interval: 10s - timeout: 5s - retries: 5 - - oai-nr-ue0: - image: ${REGISTRY:-oaisoftwarealliance}/${NRUE_IMG:-oai-nr-ue}:${TAG:-develop} - container_name: "l2sim-oai-nr-ue0" - cap_drop: - - ALL - cap_add: - - NET_ADMIN # for interface bringup - - NET_RAW # for ping - network_mode: "host" - environment: - TZ: Europe/Paris - OPENAIR_DIR: /opt/oai-nr-ue - USE_ADDITIONAL_OPTIONS: --nfapi STANDALONE_PNF --node-number 2 --sa --emulate-l1 --log_config.global_log_options level,time,thread_id,nocolor - ASAN_OPTIONS: detect_leaks=0 - devices: - - /dev/net/tun:/dev/net/tun - volumes: - - ../../conf_files/nrue.band78.106prb.l2sim.conf:/opt/oai-nr-ue/etc/nr-ue.conf - - ../../../openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results:/opt/oai-nr-ue/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results - depends_on: - - oai-gnb - - proxy - healthcheck: - test: /bin/bash -c "pgrep nr-uesoftmodem" - interval: 10s - timeout: 5s - retries: 5 - -networks: - public_net: - driver: bridge - name: l2sim-oai-public-net - ipam: - config: - - subnet: 192.168.71.128/26 - driver_opts: - com.docker.network.bridge.name: "l2sim-public" - traffic_net: - driver: bridge - name: l2sim-oai-traffic-net - ipam: - config: - - subnet: 192.168.72.128/26 - driver_opts: - com.docker.network.bridge.name: "l2sim-traffic" diff --git a/doc/README.md b/doc/README.md index 7fc28f061a..3219c849cb 100644 --- a/doc/README.md +++ b/doc/README.md @@ -80,7 +80,6 @@ Legacy unmaintained files: - [How to build images](../docker/README.md) - [How to run 5G with the RFsimulator from images](../ci-scripts/yaml_files/5g_rfsimulator/README.md) - [How to run 4G with the RFsimulator from images](../ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz/README.md) -- [How to run 5G with the L2simulator from images](../ci-scripts/yaml_files/5g_l2sim_tdd/README.md) - [How to run physical simulators in OpenShift](../openshift/README.md) # Libraries