Get alarm-list implementation.[Issue-Id: ODUHIGH-230]
[o-du/l2.git] / docs / README
index 0fb47e1..6454943 100644 (file)
@@ -2,26 +2,58 @@ Directory Structure :
 ---------------------
 1. l2/build/ : contains files required to compile the code
    a. common : contains individual module's makefile
-   b. config : contains SSI memory configuration
-   c. odu    : contains main makefile to generate an executable binary
+   b. odu    : contains main makefile to generate an executable binary
+   c. scripts: contains scripts for logging
+   d. o1     : contains main makefile to generate an executable binary
 
 2. l2/docs/  : contains README and other configuration files for building docs
        
-2. l2/src/ : contains layer specific source code
+3. l2/src/ : contains layer specific source code
    a. 5gnrmac  : MAC source code
-   b.  5gnrrlc  : RLC source code
+   b. 5gnrrlc  : RLC source code
    c. cm       : common, environment and interface files
    d. cu_stub  : Stub code for CU
    e. du_app   : DU application and F1 code 
    f. mt       : wrapper functions over OS
    g. phy_stub : Stub code for Physical layer
    h. rlog     : logging module
+   i. o1       : o1 module
 
 
 Pre-requisite for Compilation :
 -------------------------------
 1. Linux 32-bit/64-bit machine
 2. GCC version 4.6.3 and above
+3. Install LKSCTP
+   a. On Ubuntu : sudo apt-get install -y libsctp-dev
+   b. On CentOS : yum install lksctp-tools-devel
+4. Install PCAP:
+   a. On ubuntu : sudo apt-get install -y libpcap-dev
+   b. On CentOS : yum install libpcap-devel
+
+
+Pre-requisite for running O1 module:
+-----------------------------------
+Install netconf server
+----------------------
+
+1.     Create new netconf user (login with root user and run following command)
+       $adduser --system netconf && \
+        echo "netconf:netconf" | chpasswd
+
+       $mkdir -p /home/netconf/.ssh && \
+       ssh-keygen -A && \
+       ssh-keygen -t dsa -P '' -f /home/netconf/.ssh/id_dsa && \
+        cat /home/netconf/.ssh/id_dsa.pub > /home/netconf/.ssh/authorized_keys
+2.     Install netconf packages. 
+       $cd l2/build/o1/
+       $chmod +x install_lib.sh
+       $ ./install_lib.sh
+
+Install the yang module
+-----------------------
+1. cd l2/build/o1/yang
+   sysrepoctl -i o-ran-sc-odu-alarm-v1.yang
 
 
 How to Clean and Build:
@@ -31,6 +63,10 @@ How to Clean and Build:
          cd l2/build/odu
    b. Building ODU binary
          make odu MACHINE=BIT64 MODE=FDD
+
+         Build with O1 module enabled:
+         make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+
    c. Cleaning ODU binary
          make clean_odu MACHINE=BIT64 MODE=FDD
 
@@ -38,18 +74,36 @@ How to Clean and Build:
    a. Build folder
          cd l2/build/odu
    b. Building CU Stub binary
-         make cu_stub NODE=CU_STUB MACHINE=BIT64 MODE=FDD
+         make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
    c. Cleaning CU Stub binary
-         make clean_cu NODE=CU_STUB MACHINE=BIT64 MODE=FDD
+         make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
+
+3. Building RIC Stub binary:
+   a. Build folder
+         cd l2/build/odu
+   b. Building RIC Stub binary
+         make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
+   c. Cleaning RIC Stub binary
+         make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
+
+4. Cleaning ODU, CU Stub and RIC Stub:
+      make clean_all
+
+5. Building O1 binary:
+   a. Build folder
+         cd l2/build/o1
+   b. Building O1 binary
+         make o1 MACHINE=BIT64
+   c. Cleaning O1 binary
+         make clean_o1 
 
-3. Cleaning ODU and CU Stub
-      make clean_all MACHINE=BIT64 MODE=FDD
 
 How to execute:
 ---------------
 1. Assign virtual IP addresses as follows:
-      ifconfig <interface name>:ODU "10.0.2.20"
-      ifconfig <interface name>:CU_STUB "10.0.2.25"
+      ifconfig <interface name>:ODU "192.168.130.81"
+      ifconfig <interface name>:CU_STUB "192.168.130.82"
+      ifconfig <interface name>:RIC_STUB "192.168.130.80"
 
 2. CU execution folder:
       cd l2/bin/cu_stub
@@ -57,10 +111,23 @@ How to execute:
 3. Run CU Stub binary:
       ./cu_stub
 
-4. DU execution folder:
+4. RIC execution folder:
+      cd l2/bin/ric_stub
+     
+5. Run RIC Stub binary:
+      ./ric_stub
+
+6. DU execution folder:
       cd l2/bin/odu
      
-5. Run ODU binary:
+7. Run ODU binary:
       ./odu
 
-PS: CU stub must be run first
+8. O1 execution folder:
+      cd l2/build/o1/bin/o1
+
+9. Run O1 binary:
+      ./o1
+
+PS: CU stub and RIC stub must be run (in no particular sequence) before ODU
+    If O1 module is enabled it must be run before ODU