You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Scope

FlexRAN is a vRAN reference implementation for virtualized cloud-enabled radio access networks. FlexRAN is not an open-source project. It is provided here as an example of a 5G application running on INF.

This document provides details on how to build FlexRAN software for INF, generate a containerized version of the prebuilt FlexRAN binaries, and deploy on INF solution. 

Note: 

The steps in this guide are based on FlexRAN 22.03. The instructions are subject to change in future releases of FlexRAN.

And only CentOS based INF image is verified.

Intended Audience

The intended audience for this document are software engineers and system architects who want to design and develop 5G systems using the O-RAN Specifications based on FlexRAN and INF platform.

AIO Simplex Installation

Prepare USB stick with INF CentOS based Installation ISO

  1. Get INF CentOS based Installation ISO from following location:

    https://nexus.o-ran-sc.org/content/sites/images/org/o-ran-sc/pti/rtp/f-release/inf-image-centos-all-x86-64.iso

  2. Burn the image to a USB stick:

    Be sure to use the correct USB device name when copying the image.

    dd if=inf-image-centos-all-x86-64.iso of=/dev/sdc bs=1M

Follow the installation guide

In addition to the Hardware Requirements for INF  (INF is a downstream project of StarlingX, and the requirements are the same as StarlingX), you will need the following hardware for FlexRAN applications.

Minimum Requirement

All-in-one Controller Node

Minimum processor class

Single-CPU Intel Xeon Cascade Lake (14 nm) or IceLake (10 nm)

Minimum memory

64 GB single socket

Minimum network ports

OAM: 1x1GE, If only test timer mode, no other NIC required.

BIOS settings

  • Hyper-Threading technology: Enabled

  • Virtualization technology: Enabled

  • VT for directed I/O: Enabled

  • CPU Power and Performance Policy: Performance

  • CPU C state control: Enabled

  • Plug & play BMC detection: Disabled

  • Uncore Frequency Scaling: Disabled

  • Performance P-limit: Disabled

  • Enhanced Intel SpeedStep (R) Tech: Enabled

  • Intel(R) Turbo Boost Technology: Enabled

  • Processor C6: Enabled

  • Package C-State: C0/C1

  • Hardware P-states: Disabled

  • Memory Configuration: 8-way interleave

  • AVX License Pre-Grant: Enabled

  • AVX ICCP Pre-Grant Level: AVX-512 Heavy

Accelerator Card

Mt. Bryce ACC100 (Intel eASIC chip which can be mounted on third party card)

The FlexRAN application on INF has been tested on Intel Reference Hardware platform: Coyote Pass (housing ICX-SP).

Note

Some third-party platforms like SuperMicro / HPE / Dell / Quanta / and others can also be used depending on customer platform requirements, certain optimizations for low-latency and power savings mode by the platform vendors.

Install Kubernetes Platform on All-in-one Simplex:

  1. In addition to required StarlingX configuration, you must set up the Ceph backend for Kubernetes PVC, isolcpus and hugepages:

    source /etc/platform/openrc
    
    NODE=controller-0
    OAM_IF=<OAM-PORT>
    
    # if you use flat oam network
    system host-if-modify ${NODE} $OAM_IF -c platform
    system interface-network-assign ${NODE} $OAM_IF oam
    
    # if you use vlan oam network
    VLANID=<VLAN-ID>
    system host-if-modify -n pltif -c platform $NODE $OAM_IF
    system host-if-add ${NODE} -V $VLANID -c platform oam0 vlan pltif
    system interface-network-assign ${NODE} oam0 oam
    
    system host-label-assign $NODE sriovdp=enabled
    system host-label-assign $NODE kube-topology-mgr-policy=restricted
    
    # Ceph backend for k8s pvc
    system storage-backend-add ceph --confirmed
    system host-disk-list ${NODE} | awk '/\/dev\/sdb/{print $2}' | xargs -i system host-stor-add ${NODE} {}
    
    # isolate cpus depends on number of the physical core
    system host-cpu-modify -f application-isolated -p0 28 controller-0
    
    # allocate/enable hugepages for DPDK usage
    system host-memory-modify $NODE -1G 10 0
    
    system host-unlock $NODE
  2. After the system has been unlocked and available for the first time, configure ACC100 / Mount Bryce:

    source /etc/platform/openrc
    
    system host-lock $NODE
    
    # get the device name of the Mount Bryce, we assume it is
    # pci_0000_85_00_0 here.
    system host-device-list controller-0
    
    # Modify the Mount Bryce device to enable it, specify the base driver
    # and vf driver, and configure it for 1 VFs
    
    # NOTE: If this is the initial install and have not unlocked, you will
    # get following error message.
    # Cannot configure device 73b13ddf-99be-44c8-8fbe-db85eb8d99ba until host
    # controller-0 is unlocked for the first time.
    system host-device-modify controller-0 pci_0000_85_00_0 -e true --driver igb_uio --vf-driver vfio -N 1
    
    system host-unlock $NODE
  • No labels