Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1. Introduction

1.1) Description

1.2) System topology

  • TestMac XRAN Mode Testing

...

  • End-to-End Testing

...

2. Minimum Requirements

 This section lists the reference platform hardware configurations. The user should ensure an equal configuration is ready before continuing.

  • CPU

    • 1 x Intel Xeon Gold 6338N CPU @ 2.20 GHz or higher

  • RAM

    • 8 x 16GB DDR4 3200 MHz

      • Ensure the memory channel are equally populated with DIMM.

  • Storage

    • HDD larger than 200GB is good enough. No specific perf requirements on storage.

  • Baseband Device

    • Mount Bryce Card (acc100) to CPU-0

  • NIC

    • Ethernet Controller E810-C for SFP 1593 (PCIe Add-in-card direct to CPU-0)

  • Operating System

    • Ubuntu 24.04 LTS

      • Realtime kernel 6.8.1-1002

3. Installation

3.1) Prerequisites for FlexRAN S/W build

  • build-essential

  • numactl-devel

  • libhugetlbfs-dev

  • cmake

  • python

  • meson and ninja tools

    • to compile DPDK

  • pyelftools

    • to do meson build for DPDK 22.11.1.

  • pkgconf

    • to auto detect which DPDK libraries will be compiled

  • ptp4l

    • Intel oneAPI Basekit 2023.0.0

3.2) Prepare FlexRAN S/W packages

  • FlexRAN Release Package v23.07

  • DPDK version 22.11.1 + Intel DPDK patch

    • Patch and compile DPDK with patch on top of DPDK 22.11.1:

      • Copy dpdk patch file included in release package to place where DPDK is currently installed.

      • Issue the following command to apply patch.

...

3.3) Setup Environment

  • Kernel options

    • For core isolation

      • configure CPU core isolation through “isolcpus”

      • For huge page

        • configure 1GB huge page at least 40 (hugepagesz=1G hugepages=40)

    • For VFIO

      • iommu=pt, intel_iommu=on

    • Network Interface Card

      • Create VFs and configure VLAN IDs.

      • Bind created VFs with vfio_pci module

    • Baseband Device

      • VF creation and configure bbdev device

        • Bind the PF with the igb_uio module (or alternatively with pci-pf-stub):

        • Create 1 VF from the PF using the exposed sysfs interface:

          • echo 1 | sudo tee /sys/bus/pci/devices/0000:<PF_PCI_Device_Addr>/max_vfs

        • Bind the VF using the vfio-pci module

        • Configure the devices using the pf_bb_config application for VF usage

          • ./pf_bb_config ACC100 -c acc100/acc100_config_1vf_5g.cfg

    • PTP setup

      • utilize “ptp4l”

    • Setup environments

      • Setup all paths required for building and executing FlexRAN S/W

        • source ./set_env_var.sh -d

        • Set ISA (Instruction Set Architecture) type:

          • Default ISA type is AVX512 (Skylake and Cascade Lake)

          • For Icelake, would need to set “-i snc"

            • source ./set_env_var.sh -d -i snc

3.4) Build FlexRAN S/W

  • To use OneAPI compiler, the following command needs to be issued

...

Info

This will compile L1 application including all available modules for 5gnr.

 4. Post-Installation Verification

4.1) Check the build of executables

After the steps in 3.4, upon a successful build A new L1 application file (l1app) will be created in:

/path/to/flexran_install/bin/nr5g/gnb/l1

4.2) Check Baseband

If ACC100/vRAN is configured with pf_bb_config correctly through 3.3, bbdev can be tested.

...

 4.3) Run tests with l1app and testmac

  • Open two consoles (must be “root”)

  • Setup Environment to run l1app and testmac for both consoles.

    • Example for Icelake

...

# ./l2.sh --testfile=<test config file> 

5. Troubleshooting

  • Issue 1: DPDK Install directory cannot be in /root folder.

    • Applying patch file to dpdk while installed under the /root folder does not work

Solution: Put somewhere else like /opt/dpdk-22.11 or /home/dpdk-22.11.

6. Additional Resources

  • Documentation:

  • Support: