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.
 ---
 # 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
 
 
 API-Docs
-========
+**********
 
 This is the API-docs for Cherry relase o-du/l2.
 
 
 This is the API-docs for Cherry relase o-du/l2.
 
index ce5c3d8..d99fcd4 100644 (file)
@@ -5,7 +5,9 @@
    :depth: 3
    :local:
 
    :depth: 3
    :local:
 
-========
+O-DU High Installation Guide
+*****************************
+
 Abstract
 ========
 
 Abstract
 ========
 
@@ -16,7 +18,7 @@ This document describes how to install O-DU High, it's dependencies and required
    :local:
 
 Version history
    :local:
 
 Version history
----------------------
+
 
 +--------------------+--------------------+--------------------+--------------------+
 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
 
 +--------------------+--------------------+--------------------+--------------------+
 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
@@ -30,8 +32,7 @@ Version history
 Introduction
 ============
 
 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.
 
 
 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
 =======
 
 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
 
 
 Hardware requirements
@@ -53,7 +54,7 @@ Following minimum hardware requirements must be met for installation of O-DU Hig
 +--------------------+----------------------------------------------------+
 | **# of servers**   |         1                                                 |
 +--------------------+----------------------------------------------------+
 +--------------------+----------------------------------------------------+
 | **# of servers**   |         1                                                 |
 +--------------------+----------------------------------------------------+
-| **CPU**            |         5                                                 |
+| **CPU**            |         4                                                 |
 |                    |                                                    |
 +--------------------+----------------------------------------------------+
 | **RAM**            |  8G                                               |
 |                    |                                                    |
 +--------------------+----------------------------------------------------+
 | **RAM**            |  8G                                               |
@@ -62,23 +63,28 @@ Following minimum hardware requirements must be met for installation of O-DU Hig
 | **Disk**           |         500G                                              |
 |                    |                                                    |
 +--------------------+----------------------------------------------------+
 | **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
 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
 
 - 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
 
    - 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
 
 
 .. SPDX-License-Identifier: CC-BY-4.0
 
 
+O-DU High Overview
+*********************
+
 O-DU High Architecture
 ======================
 
 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.
 
 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
 
 
 Release-Notes
-=============
+**************
 
 
 This document provides the release notes for Bronze Release of O-DU-L2.
 
 
 This document provides the release notes for Bronze Release of O-DU-L2.
index afe00cb..b58f85a 100644 (file)
@@ -4,7 +4,7 @@
 
 
 User Guide
 
 
 User Guide
-==========
+***********
 
 This is the user guide for Cherry release of O-DU/l2.
 
 
 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:
 
    :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"
 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:
 
 
 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
 
 
    b. Run CU Stub binary
 
@@ -83,19 +37,19 @@ B. Execution:
 
 3. Execute RIC Stub:
 
 
 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
 
 
    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
 
 
    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
 
 
 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 :
 
 
 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
          
          - rte_branch_prediction.h
          - rte_common.h
@@ -131,17 +108,14 @@ I. Compilation
          - rte_os.h
          - rte_per_lcore.h
 
          - 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
 
 
       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
 ^^^^^^^^^^^^^
 
 II. Execution
 ^^^^^^^^^^^^^
@@ -150,12 +124,12 @@ II. Execution
 
       a. Setup environment:
       
 
       a. Setup environment:
       
-         - cd <intel_directory>/phy/
+         - cd <O-DU Low Directory>/phy/
          - source ./setupenv.sh
 
       b. Run O-DU Low binary :
       
          - 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:
 
          - 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:
    
 
       a. Setup environment:
    
-         - cd <intel_directory>/phy/
+         - cd <O-DU Low Directory>/phy/
          - source ./setupenv.sh
 
       b. Run FAPI translator binary:
 
          - 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:
 
          - ./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
      
 
    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
 
       
       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
 
 
       
       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.
 ----------------
 
 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
 
   :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
 
 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 .