ARC-OTA Configuration App Note (Step-by-Step Debug Commands)#

Setup Aerial CUDA-Accelerated RAN#

In the installation guide for cuBB, find the Aerial CUDA-Accelerated RAN section and follow the instructions.

Cloning the Aerial source code#

git clone https://github.com/NVIDIA/aerial-cuda-accelerated-ran.git --recurse-submodules
cd aerial-cuda-accelerated-ran
git lfs pull

Pull and start the Aerial docker image#

cd ~/aerial-cuda-accelerated-ran
./cuPHY-CP/container/run_aerial.sh
aerial@c_aerial_user:/opt/nvidia/cuBB$

Setup OAI gNB#

Clone the gNB Source Code#

Clone the OpenAirInterface5G repository.

git clone --branch ARC1.7_integration https://gitlab.eurecom.fr/oai/openairinterface5g.git ~/openairinterface5g
cd openairinterface5g

gNB Configuration File#

OAI L2 configuration used in the dafault setup is located here.

The L1 configuration to use is included in the latest Aerial release image at cuPHY-CP/cuphycontroller/config/cuphycontroller_P5G_FXN_GH.yaml.

Setup OAI CN5G#

Do the iptables setup below after every system reboot, or make this setup permanent in your Ubuntu system configuration.

On CN5G server, configure it to allow the traffic coming in by
adding this rule to iptables:

# On CN5G, upon startup:

sudo sysctl net.ipv4.conf.all.forwarding=1
sudo iptables -P FORWARD ACCEPT

The user-configurable configuration files are located in the following paths:

  • ~/openairinterface5g/doc/tutorial_resources/oai-cn5g/database/oai_db.sql

  • ~/openairinterface5g/doc/tutorial_resources/oai-cn5g/conf/users.conf

Configuring OAI gNB and CN5G#

For the purpose of understanding which address is what in the example configuration setting and commands below, we will assume the gNB and CN5G servers have these interface names and IP addresses.

CN5G Server

eno1: 10.31.66.x            = SSH management port for terminal
eno2: 169.254.200.6         = BH connection on SFP switch for gNB-CN5G traffic

gNB Server

eno1:     10.31.66.x        = SSH management port for terminal
ens6f0:   b8:ce:f6:4e:75:40 = FH MAC address
ens6f0.2: 169.254.1.105     = FH IP address
ens6f1:   169.254.200.5     = BH connection SFP switch for gNB-CN5G traffic

gNB to set static route

On the gNB server, add this static route for a path to the CN5G server. Apply this route after each server power-on.

Syntax:
sudo ip route add 192.168.70.128/26 via <CN5G IP> dev <gNB interface for CN5G>

Example:
sudo ip route add 192.168.70.128/26 via 169.254.200.6 dev ens6f1

gNB to set the CN5G server to uses for AMF

Edit the used gNB configuration file. The configuration file for Aerial can be found here:

~/openairinterface5g/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb-vnf.sa.band78.273prb.aerial.conf

Update the Docker compose file to mount the updated file.

Below is an example with lab-specific network parameters. Your IP address and interface names may differ.

////////// AMF parameters:
amf_ip_address      = ({ ipv4       = "192.168.70.132"; });     #OAI internal AMF IP if the ip route is set as above
NETWORK_INTERFACES :
{
    GNB_IPV4_ADDRESS_FOR_NG_AMF              = "169.254.200.5"; #gNB side IP address
    GNB_IPV4_ADDRESS_FOR_NGU                 = "169.254.200.5"; #gNB side IP address
    GNB_PORT_FOR_S1U                         = 2152; # Spec 2152
};

Running CN5G#

Start the CN5G Container#

cd ~/openairinterface5g/doc/tutorial_resources/oai-cn5g
docker compose up -d

Stop the CN5G Container#

cd ~/openairinterface5g/doc/tutorial_resources/oai-cn5g
docker compose down

Monitor the CN5G Logs#

docker logs oai-amf -f

You can also retrieve logs from all the CN functions with the below script.

cd ~/openairinterface5g/doc/tutorial_resources/oai-cn5g
./getLogs.sh

Capture PCAPs#

docker exec -it oai-amf /bin/bash
tcpdump -i any -w /tmp/amf.pcap

Then copy the .pcap file out from the container.

docker cp oai-amf:/tmp/amf.pcap .

Example Screenshot of Starting CN5G#

aerial@e200-smc-11:~/openairinterface5g/doc/tutorial_resources/oai-cn5g$ docker compose up -d
[+] Running 11/11
✔ Network oai-cn5g-public-net  Created                                                                                                                                                                      0.1s
✔ Container oai-ext-dn         Started                                                                                                                                                                      0.6s
✔ Container mysql              Started                                                                                                                                                                      0.4s
✔ Container oai-nrf            Started                                                                                                                                                                      0.5s
✔ Container asterisk-ims       Started                                                                                                                                                                      0.5s
✔ Container oai-udr            Started                                                                                                                                                                      0.7s
✔ Container oai-udm            Started                                                                                                                                                                      0.9s
✔ Container oai-ausf           Started                                                                                                                                                                      1.1s
✔ Container oai-amf            Started                                                                                                                                                                      1.3s
✔ Container oai-smf            Started                                                                                                                                                                      1.4s
✔ Container oai-upf            Started                                                                                                                                                                      1.6s
aerial@e200-smc-11:~$ docker ps
CONTAINER ID   IMAGE                                                         COMMAND                  CREATED          STATUS                    PORTS                                                   NAMES
21f4d9fc7b7a   oaisoftwarealliance/oai-upf:develop                                                       "sh /openair-upf/bin…"   5 days ago     Up 5 days (healthy)     2152/udp, 8805/udp, 5342-5344/tcp                       oai-upf
dec8c3999718   oaisoftwarealliance/oai-smf:develop                                                       "/openair-smf/bin/oa…"   5 days ago     Up 5 days (healthy)     80/tcp, 5342-5344/tcp, 8080/tcp, 9090/tcp, 8805/udp     oai-smf
5b39b97eca1f   oaisoftwarealliance/oai-amf:develop                                                       "/openair-amf/bin/oa…"   5 days ago     Up 5 days (healthy)     80/tcp, 5342-5344/tcp, 8080/tcp, 9090/tcp, 38412/sctp   oai-amf
4395198c8f63   oaisoftwarealliance/oai-ausf:develop                                                      "/openair-ausf/bin/o…"   5 days ago     Up 5 days (healthy)     80/tcp, 5342-5344/tcp, 8080/tcp                         oai-ausf
198740927b35   oaisoftwarealliance/oai-udm:develop                                                       "/openair-udm/bin/oa…"   5 days ago     Up 5 days (healthy)     80/tcp, 5342-5344/tcp, 8080/tcp                         oai-udm
ba7c80dacdfc   oaisoftwarealliance/oai-udr:develop                                                       "/openair-udr/bin/oa…"   5 days ago     Up 5 days (healthy)     80/tcp, 8080/tcp                                        oai-udr
f0b31e825e61   oaisoftwarealliance/oai-nrf:develop                                                       "/openair-nrf/bin/oa…"   5 days ago     Up 5 days (healthy)     80/tcp, 5342-5344/tcp, 8080/tcp                         oai-nrf
27be7c0d2e6a   oaisoftwarealliance/trf-gen-cn5g:latest                                                   "/bin/bash -c ' ip r…"   5 days ago     Up 5 days (healthy)                                                             oai-ext-dn
ddbbd35aa2d9   mysql:8.0                                                                                 "docker-entrypoint.s…"   5 days ago     Up 5 days (healthy)     3306/tcp, 33060/tcp                                     mysql
c89de994abc6   oaisoftwarealliance/ims:latest                                                            "asterisk -fp"           5 days ago     Up 5 days (healthy)                                                             ims