Documentation updates 93/5193/2
authorsphoorthi <sphoorthi.dayanand@radisys.com>
Mon, 30 Nov 2020 09:51:49 +0000 (15:21 +0530)
committersphoorthi <sphoorthi.dayanand@radisys.com>
Mon, 30 Nov 2020 11:52:17 +0000 (17:22 +0530)
Change-Id: I12acb9ebeb005e358dfaa5e936845ea1867bbe7b
Signed-off-by: sphoorthi <sphoorthi.dayanand@radisys.com>
container-tag.yaml
docs/O-DU_High_Low_Flow.jpg [moved from docs/L1-L2_Message_Flow.jpg with 100% similarity]
docs/api-docs.rst
docs/installation-guide.rst
docs/overview.rst
docs/release-notes.rst
docs/user-guide.rst

index 7d9b195..ecd34c6 100644 (file)
@@ -1,4 +1,4 @@
 # The Jenkins job requires a tag to build the Docker image.
 # Global-JJB script assumes this file is in the repo root.
 ---
-tag: 2.0.3
+tag: 3.0.1
index c36e1e5..f85c0c2 100644 (file)
@@ -4,7 +4,7 @@
 
 
 API-Docs
-========
+**********
 
 This is the API-docs for Cherry relase o-du/l2.
 
index ce5c3d8..d99fcd4 100644 (file)
@@ -5,7 +5,9 @@
    :depth: 3
    :local:
 
-========
+O-DU High Installation Guide
+*****************************
+
 Abstract
 ========
 
@@ -16,7 +18,7 @@ This document describes how to install O-DU High, it's dependencies and required
    :local:
 
 Version history
----------------------
+
 
 +--------------------+--------------------+--------------------+--------------------+
 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
@@ -30,8 +32,7 @@ Version history
 Introduction
 ============
 
-This document describes the hardware and software requirements along with guidelines on how to install and configure the
-O-DU High.
+This document describes the hardware and software requirements along with guidelines on how to install O-DU High.
 
 The audience of this document is assumed to have good knowledge in RAN concepts and Linux system.
 
@@ -39,7 +40,7 @@ The audience of this document is assumed to have good knowledge in RAN concepts
 Preface
 =======
 
-Before starting the installation of O-DU High, the source can be built or docker image can be downloaded.
+O-DU High images can be built using the source code or corresponding docker images can be downloaded.
 
 
 Hardware requirements
@@ -53,7 +54,7 @@ Following minimum hardware requirements must be met for installation of O-DU Hig
 +--------------------+----------------------------------------------------+
 | **# of servers**   |         1                                                 |
 +--------------------+----------------------------------------------------+
-| **CPU**            |         5                                                 |
+| **CPU**            |         4                                                 |
 |                    |                                                    |
 +--------------------+----------------------------------------------------+
 | **RAM**            |  8G                                               |
@@ -62,23 +63,28 @@ Following minimum hardware requirements must be met for installation of O-DU Hig
 | **Disk**           |         500G                                              |
 |                    |                                                    |
 +--------------------+----------------------------------------------------+
-| **NICs**           |         3                                                 |
+| **NICs**           |         1                                                 |
 |                    |                                                    |
 +--------------------+----------------------------------------------------+
 
 
-
-
-
 Software installation and deployment
 ==========================================
 
 This section describes the installation of the O-DU High on the reference hardware.
 
 Libraries
-^^^^^^^^^^
+----------
+
+Following libraries are required to compile and execute O-DU High:
+
+- GCC 
+   - Ubuntu : sudo apt install build-essential
+   - CentOS : sudo yum group install "Development Tools"
 
-- GCC version 4.6.3 and above
+   Ensure the version is 4.6.3 and above using
+
+   -   gcc --version
 
 - LKSCTP
    - Ubuntu : sudo apt-get install -y libsctp-dev
@@ -88,4 +94,68 @@ Libraries
    - Ubuntu : sudo apt-get install -y libpcap-dev
    - CentOS : yum install libpcap-devel
 
+Cloning code
+--------------
+
+- Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
+
+- Clone code into <O-DU High Directory> 
+
+  git clone "https://gerrit.o-ran-sc.org/r/o-du/l2" && (cd "l2" && mkdir -p .git/hooks && curl -Lo `git rev-parse
+  --git-dir`/hooks/commit-msg https://gerrit.o-ran-sc.org/r/tools/hooks/commit-msg; chmod +x `git rev-parse
+  --git-dir`/hooks/commit-msg)
+
+
+Compilation
+------------
+
+- Build O-DU High:
+
+   - Navigate to Build folder
+
+       cd <O-DU High Directory>/l2/build/odu
+
+   - Clean O-DU High binary
+
+       make clean_odu MACHINE=BIT64 MODE=FDD
+
+   - Build O-DU High binary
+   
+       make odu MACHINE=BIT64 MODE=FDD
+
+- Build CU Stub :
+
+   - Navigate to Build folder
+   
+       cd <O-DU High Directory>/l2/build/odu
+
+   - Clean CU Stub binary
+   
+       make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
+
+   - Build CU Stub binary
+   
+       make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
+
+- Build RIC Stub :
+
+   - Navigate to Build folder
+   
+       cd <O-DU High Directory>/l2/build/odu
+
+   - Clean RIC Stub binary
+   
+       make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
+
+   - Build RIC Stub binary
+   
+       make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
+
+
+The above generated images can be found at:
+
+- O-DU High - <O-DU High Directory>/l2/bin/odu
+
+- CU Stub   - <O-DU High Directory>/l2/bin/cu_stub
 
+- RIC Stub  - <O-DU High Directory>/l2/bin/ric_stub
index f41bc1d..caeffa6 100644 (file)
@@ -2,10 +2,12 @@
 .. SPDX-License-Identifier: CC-BY-4.0
 
 
+O-DU High Overview
+*********************
+
 O-DU High Architecture
 ======================
 
-
 O-DU implements the functional blocks of L2 layer of a 5G NR protocol stack in SA(StandAlone) mode.
 These layers primarily include NR MAC, NR Scheduler and NR RLC layers.
 
index 754edec..5b19300 100644 (file)
@@ -3,7 +3,7 @@
 
 
 Release-Notes
-=============
+**************
 
 
 This document provides the release notes for Bronze Release of O-DU-L2.
index afe00cb..b58f85a 100644 (file)
@@ -4,7 +4,7 @@
 
 
 User Guide
-==========
+***********
 
 This is the user guide for Cherry release of O-DU/l2.
 
@@ -12,59 +12,13 @@ This is the user guide for Cherry release of O-DU/l2.
    :depth: 3
    :local:
 
-A. Compilation:
----------------
 
-1. Build O-DU High:
-
-   a. Build folder
-
-      - cd <rsys_directory>/l2/build/odu
-
-   b. Build O-DU High binary
-   
-      - make odu MACHINE=BIT64 MODE=FDD
-
-   c. Clean O-DU High binary
-
-      - make clean_odu MACHINE=BIT64 MODE=FDD
-
-2. Build CU Stub :
-
-   a. Build folder
-   
-      - cd <rsys_directory>/l2/build/odu
-
-   b. Build CU Stub binary
-   
-      - make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
-
-   c. Clean CU Stub binary
-   
-      - make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
-
-3. Build RIC Stub :
-
-   a. Build folder
-   
-      - cd <rsys_directory>/l2/build/odu
-
-   b. Build RIC Stub binary
-   
-      - make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
-
-   c. Clean RIC Stub binary
-   
-      - make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
-
-4. Clean ODU, CU Stub and RIC Stub together
-
-   a. make clean_all
-
-
-B. Execution:
+A. Execution:
 -------------
 
+I. Execution - On locally compiling O-DU High Source Code
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
 1. Assign virtual IP addresses as follows:
 
    a. ifconfig <interface name>:ODU "192.168.130.81"
@@ -73,9 +27,9 @@ B. Execution:
 
 2. Execute CU Stub:
 
-   a. CU execution folder
+   a. Navigate to CU execution folder
 
-      - cd <rsys_directory>/l2/bin/cu_stub
+      - cd <O-DU High Directory>/l2/bin/cu_stub
 
    b. Run CU Stub binary
 
@@ -83,19 +37,19 @@ B. Execution:
 
 3. Execute RIC Stub:
 
-   a. RIC execution folder
+   a. Navigate to RIC execution folder
 
-      - cd <rsys_directory>/l2/bin/ric_stub
+      - cd <O-DU High Directory>/l2/bin/ric_stub
 
    b. Run RIC Stub binary
 
       - ./ric_stub
 
-4. Execute DU:
+4. Execute O-DU High:
 
-   a. DU execution folder
+   a. Navigate to ODU execution folder
 
-      - cd <rsys_directory>/l2/bin/odu
+      - cd <O-DU High Directory>/l2/bin/odu
 
    b. Run ODU binary
 
@@ -103,20 +57,43 @@ B. Execution:
 
 PS: CU stub and RIC stub must be run (in no particular sequence) before ODU
 
+II. Execution - Using Docker Images
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The call flow between O-DU High and CU Stub can be achieved by executing docker containers.
+
+- Pull the last built docker images:
+    -  docker pull nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2:3.0.1
+    -  docker pull nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2-cu-stub:3.0.1
+
+- Run CU Stub docker:
+    - docker run -it --privileged --net=host --entrypoint bash
+      nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2-cu-stub:3.0.1   
+    - ./cu_stub
+
+- Run ODU docker:
+    - docker run -it --privileged --net=host --entrypoint bash
+      nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2:3.0.1   
+    - ./odu
+
+
+B. Pairwise testing with Intel O-DU Low:
+-----------------------------------------
+
+This section describes the changes required in compilation and execution of O-DU High binaries to successfully integrate
+with Intel O-DU Low in timer mode.
 
-C. Testing with Intel O-DU Low:
--------------------------------
 
 I. Compilation
 ^^^^^^^^^^^^^^
 
    1. Build ODU :
 
-      a. Create folder <rsys_directory>/l2/src/wls_lib. Copy wls_lib.h from <intel_directory>/phy/wls_lib/ to 
-         <rsys_directory>/l2/src/wls_lib.
+      a. Create folder <O-DU High Directory>/l2/src/wls_lib. Copy wls_lib.h from <O-DU Low Directory>/phy/wls_lib/ to 
+         <O-DU High Directory>/l2/src/wls_lib.
 
-      b. Create folder <rsys_directory>/l2/src/dpdk_lib. Copy following files from
-         <intel_directory>/dpdk-19.11/x86_64-native-linuxapp-gcc/include/ to <rsys_directory>/l2/src/dpdk_lib.
+      b. Create folder <O-DU High Directory>/l2/src/dpdk_lib. Copy following files from
+         <O-DU Low Directory>/dpdk-19.11/x86_64-native-linuxapp-gcc/include/ to <O-DU High Directory>/l2/src/dpdk_lib.
          
          - rte_branch_prediction.h
          - rte_common.h
@@ -131,17 +108,14 @@ I. Compilation
          - rte_os.h
          - rte_per_lcore.h
 
-      c. Build folder
+      c. Navigate to build folder
 
-         - cd <rsys_directory>/l2/build/odu
+         - cd <O-DU High Directory>/l2/build/odu
 
       d. Build ODU Binary:
            
          - make odu PHY=INTEL_L1 PHY_MODE=TIMER MACHINE=BIT64 MODE=FDD
 
-   2. Build CU Stub and RIC Stub:
-
-      a. Execute steps in sections A.2 and A.3.        
 
 II. Execution
 ^^^^^^^^^^^^^
@@ -150,12 +124,12 @@ II. Execution
 
       a. Setup environment:
       
-         - cd <intel_directory>/phy/
+         - cd <O-DU Low Directory>/phy/
          - source ./setupenv.sh
 
       b. Run O-DU Low binary :
       
-         - cd <intel_directory>/FlexRAN/l1/bin/nr5g/gnb/l1
+         - cd <O-DU Low Directory>/FlexRAN/l1/bin/nr5g/gnb/l1
          - To run in timer mode : ./l1.sh -e
          - L1 is up when following prints are seen on console:
 
@@ -171,45 +145,45 @@ II. Execution
 
       a. Setup environment:
    
-         - cd <intel_directory>/phy/
+         - cd <O-DU Low Directory>/phy/
          - source ./setupenv.sh
 
       b. Run FAPI translator binary:
 
-         - cd <intel_directory>/phy/fapi_5g/bin/
+         - cd <O-DU Low Directory>/phy/fapi_5g/bin/
          - ./oran_5g_fapi --cfg=oran_5g_fapi.cfg
 
    3. Execute CU Stub and RIC Stub:
 
-      a. Run steps in sections B.1-B.3.
+      a. Run steps in sections A.I.1 through A.I.3 .
 
    4. Execute DU:
    
       a. DU execution folder
      
-         - cd <rsys_directory>/l2/bin/odu
+         - cd <O-DU High Directory>/l2/bin/odu
       
       b. Export WLS library path
 
-         - export LD_LIBRARY_PATH=<intel_directory>/phy/wls_lib/lib:$LD_LIBRARY_PATH
+         - export LD_LIBRARY_PATH=<O-DU Low Directory>/phy/wls_lib/lib:$LD_LIBRARY_PATH
       
       c. Run ODU binary
 
          - ./odu
 
 
-D. Message Flow:
+C. Message Flow:
 ----------------
 
 O-DU High opens WLS interface during bring up. Message exchanges can begin once the interface is ready.
-Following diagram shows P5 messages exchange with O-DU Low in timer mode.
+Following diagram shows P5 messages exchanged with O-DU Low in timer mode.
 
-.. figure:: L1-L2_Message_Flow.jpg
+.. figure:: O-DU_High_Low_Flow.jpg
   :width: 600
   :alt: Figure 1 O-DU High - O-DU Low Message Flow Diagram
 
-  Figure 1 - O-DU High - O-DU Low Message Flow Diagram
+  Figure 5 - O-DU High - O-DU Low Message Flow Diagram
 
 Note: UL IQ-Sample request and response are needed by Intel O-DU Low in timer mode(testing mode) only. Code changes for
-these are guarded under INTEL_TIMER_MODE flag which can be enabled using compilation option "PHY_MODE=TIMER", as mention
-in section C.I.1.d .
+these are guarded under INTEL_TIMER_MODE flag which can be enabled using compilation option "PHY_MODE=TIMER", as
+mentioned in section B.I.1.d .