1. l2/build/ : contains files required to compile the code
a. common : contains individual module's makefile
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
+ c. scripts: contains scripts for logging, installing netconf libraries and starting netopeer server
+ d. config : contains the configuration files
+ e. yang : contains the YANG modules
2. l2/docs/ : contains README and other configuration files for building docs
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
+ b. On CentOS : sudo yum install -y lksctp-tools-devel
4. Install PCAP:
a. On ubuntu : sudo apt-get install -y libpcap-dev
- b. On CentOS : yum install libpcap-devel
+ b. On CentOS : sudo yum install -y libpcap-devel
-C. Pre-requisite for running O1 module:
----------------------------------------
-Install netconf server
-----------------------
+C. Pre-requisite for O1 Interface (Required only if run with O1 interface enabled)
+-----------------------------------------------------------------------------------
+1. Setup netconf server
-1. Create new netconf user (login with root user and run following command)
+ Create new netconf user (login with root user and run following commands)
$adduser --system netconf && \
echo "netconf:netconf" | chpasswd
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/
+ Install netconf packages.
+ $cd l2/build/scripts
$chmod +x install_lib.sh
- $ ./install_lib.sh
+ $ ./install_lib.sh -c
-Install the yang module
------------------------
-1. cd l2/build/o1/yang
- sysrepoctl -i o-ran-sc-odu-alarm-v1.yang
+2. Start Netopeer2-server:
+ $cd l2/build/scripts
+ $./netopeer-server.sh start
+
+3. Install the yang modules
+ $cd l2/build/yang
+ $sysrepoctl -i o-ran-sc-odu-alarm-v1.yang
+ $sysrepoctl -i o-ran-sc-odu-interface-v1.yang
+
+4. Configure the startup IP and Port configurations for DU, CU and RIC
+
+ $cd l2/build/config
+
+ Open the startup_config.xml and edit the desired IP and Port for CU, DU and RIC.
+ Then load the configuration in the sysrepo running datastore using the command below
+
+ $sysrepocfg --import=startup_config.xml --datastore running --module o-ran-sc-odu-interface-v1
D. 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
4. Cleaning ODU, CU Stub and RIC Stub:
make clean_all
-5. Building O1 binary:
+
+E. How to Clean and Build with O1 interface enabled (Requires pre-requisite steps in section C)
+------------------------------------------------------------------------------------------------
+
+1. Building ODU binary:
a. Build folder
- cd l2/build/o1
- b. Building O1 binary
- make o1 MACHINE=BIT64
- c. Cleaning O1 binary
- make clean_o1
+ cd l2/build/odu
+ b. Building ODU binary
+ make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+ c. Cleaning ODU binary
+ make clean_odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+2. Building CU Stub binary:
+ a. Build folder
+ cd l2/build/odu
+ b. Building CU Stub binary
+ make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+ c. Cleaning CU Stub binary
+ make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
-E. How to execute:
+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 O1_ENABLE=YES
+ c. Cleaning RIC Stub binary
+ make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+
+4. Cleaning ODU, CU Stub and RIC Stub:
+ make clean_all
+
+
+F. How to execute:
------------------
1. Assign virtual IP addresses as follows:
a. ifconfig <interface name>:ODU "192.168.130.81"
b. ifconfig <interface name>:CU_STUB "192.168.130.82"
c. ifconfig <interface name>:RIC_STUB "192.168.130.80"
+PS: If O1 interface is enabled, IP should match those configured in step C.4.
+
2. Execute CU Stub:
a. CU execution folder:
cd l2/bin/cu_stub
b. Run ODU binary:
./odu
-5. Execute O1
- a. O1 execution folder:
- cd l2/build/o1/bin/o1
- b. 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
-F. How to test with Intel L1:
+
+G. How to test with Intel L1:
-----------------------------
I. Compilation
c. Run ODU binary
./odu
+
+H. How to execute the Health Check : get alarm-list
+----------------------------------------------------
+
+ Steps:
+
+ 1. Start Netconf netopeer client
+
+ 2. Connect to the server with
+
+ user: netconf
+ pwd: netconf
+
+ 3. Send a Netconf get request for alarms xpath
+
+ Here are the steps as executed in the terminal
+
+ $netopeer2-cli
+ > connect --login netconf
+ Interactive SSH Authentication
+ Type your password:
+ Password:
+ > get --filter-xpath /o-ran-sc-odu-alarm-v1:odu/alarms
+ DATA
+ <odu xmlns="urn:o-ran:odu:alarm:1.0">
+ <alarms>
+ <alarm>
+ <alarm-id>1009</alarm-id>
+ <alarm-text>cell id [1] is up</alarm-text>
+ <severity>2</severity>
+ <status>Active</status>
+ <additional-info>cell UP</additional-info>
+ </alarm>
+ </alarms>
+ </odu>
+
+ The XML output is a list of active alarms in the O-DU High system.
+