Running using USRP
PNF
sudo <oai_codebase>/cmake_targets/ran_build/build/nr-softmodem -O <oai_codebase>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpx300.conf --pnf
VNF
sudo <oai_codebase>/cmake_targets/ran_build/build/nr-softmodem -O <oai_codebase>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band78.tm1.106PRB.nfapi.conf --vnf
Running using RF-Simulator
PNF
sudo RFSIMULATOR=server <oai_codebase>/cmake_targets/ran_build/build/nr-softmodem -O <oai_codebase>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpx300.conf --pnf --parallel-config PARALLEL_SINGLE_THREAD --rfsim
VNF
sudo <oai_codebase>/cmake_targets/ran_build/build/nr-softmodem -O <oai_codebase>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band78.tm1.106PRB.nfapi.conf --vnf
20 July 2020
Plan
Task-A [packing]
- Modify
nfapi_p7_message_pack()innfapi_p7.c - In the switch case, change the labels as well as the pack functions:
pack_dl_config_requestbecomespack_dl_tti_request[x]pack_ul_config_requestbecomespack_ul_tti_requestpack_hi_dci0_requestbecomespack_ul_dci_requestpack_tx_requestbecomespack_tx_data_request
Task-B [unpacking]
- Modify
nfapi_p7_message_unpack()innfapi_p7.cunpack_dl_tti_request[x]unpack_ul_tti_requestunpack_ul_dci_requestunpack_tx_data_request
- Similarly change all the
unpackfunctions within the switch-case block. - Modify the behaviour of
check_unpack_length()for the newTAGS- this is where the unpack functions are called
dl_tti_request[x]ul_tti_requestul_dci_requesttx_data_request
- this is where the unpack functions are called
Task-C
- Write the
ul_ttialternative fornfapi_vnf_p7_ul_config_req()invnf_p7_interface.cand other such functions.dl_ttiis present asnr_dl_config[x]ul_ttiul_dcitx_data
- Resolve the hard-coded areas in source code. [
HIGH-PRIORITY] [x] - Write the
ul_ttiequivalent foroai_nfapi_dl_config_reqinnfapi_vnf.cand other such functions.dl_ttiis present asnr_dl_config[x]ul_ttiul_dcitx_data
- Check if
nr_schedule_response()needs to be upgraded [x]- only a couple of
NFAPI_MODE!=VNF_MODEchecks can be added before calling the functions to handle PDUs - we need to add
NFAPI_MODE!=MONOLITHICchecks beforeoai_nfapi_dl_config_reqand other such fns [x]
- only a couple of
- Sync with the latest stable commit in
developbranch [LOW-PRIORITY]- check deviations
Testing
-
Test by running VNF on a terminal and PNF in rfsim parallely
-
If all works fine, move to UE testing.
-
Check if the
FAPIcore functionality is not broken by running gNB in monolithic mode -
Check whether the code can support latency of 0.5 ms for oai_slot_indication
-
Testing with a UE
- Run VNF
- Run PNF in rfsim
- Run UE in rfsim
-
This can be done on parallel terminals on the same machine or different machine with the appropriate configuration