From ebc8d95dc727a072e8ee78aa332f0885bb31ac2f Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Fri, 29 May 2020 11:38:23 -0700 Subject: [PATCH] Base skeleton and comments of where socket needs to be implemented --- .../conf_files/rcc.band7.tm1.nfapi.conf | 6 ++--- ci-scripts/conf_files/ue.nfapi.conf | 6 ++--- cmake_targets/no_epc.sh | 3 +++ nfapi/oai_integration/vendor_ext.h | 3 ++- openair2/PHY_INTERFACE/phy_stub_UE.c | 5 ++++ targets/RT/USER/lte-ue.c | 4 +-- targets/RT/USER/lte-uesoftmodem.c | 25 ++++++++++++++----- 7 files changed, 37 insertions(+), 15 deletions(-) create mode 100755 cmake_targets/no_epc.sh diff --git a/ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf b/ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf index 28bfd91560..90da72dcc5 100644 --- a/ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf +++ b/ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf @@ -203,9 +203,9 @@ eNBs = MACRLCs = ( { num_cc = 1; - local_s_if_name = "ens3"; - remote_s_address = "CI_UE_IP_ADDR"; - local_s_address = "CI_ENB_IP_ADDR"; + local_s_if_name = "lo"; + remote_s_address = "127.0.0.1"; + local_s_address = "127.0.0.1"; local_s_portc = 50001; remote_s_portc = 50000; local_s_portd = 50011; diff --git a/ci-scripts/conf_files/ue.nfapi.conf b/ci-scripts/conf_files/ue.nfapi.conf index 2b602cbcf2..3f227d573c 100644 --- a/ci-scripts/conf_files/ue.nfapi.conf +++ b/ci-scripts/conf_files/ue.nfapi.conf @@ -20,9 +20,9 @@ L1s = ( { num_cc = 1; tr_n_preference = "nfapi"; - local_n_if_name = "ens3"; - remote_n_address = "CI_ENB_IP_ADDR"; - local_n_address = "CI_UE_IP_ADDR"; + local_n_if_name = "lo"; + remote_n_address = "127.0.0.1"; + local_n_address = "127.0.0.1"; local_n_portc = 50000; remote_n_portc = 50001; local_n_portd = 50010; diff --git a/cmake_targets/no_epc.sh b/cmake_targets/no_epc.sh new file mode 100755 index 0000000000..582c0c4f6a --- /dev/null +++ b/cmake_targets/no_epc.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo -E ./ran_build/build/lte-softmodem -O ../ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf --nos1 diff --git a/nfapi/oai_integration/vendor_ext.h b/nfapi/oai_integration/vendor_ext.h index f25aa703cc..cfc1699080 100644 --- a/nfapi/oai_integration/vendor_ext.h +++ b/nfapi/oai_integration/vendor_ext.h @@ -70,7 +70,8 @@ typedef enum { NFAPI_MODE_VNF, NFAPI_UE_STUB_PNF, NFAPI_UE_STUB_OFFNET, - NFAPI_MODE_UNKNOWN + NFAPI_MODE_UNKNOWN, + NFAPI_MODE_STANDALONE_PNF } nfapi_mode_t; char *nfapi_get_strmode(void); diff --git a/openair2/PHY_INTERFACE/phy_stub_UE.c b/openair2/PHY_INTERFACE/phy_stub_UE.c index 41fb3ddc3a..7efd6c25d9 100644 --- a/openair2/PHY_INTERFACE/phy_stub_UE.c +++ b/openair2/PHY_INTERFACE/phy_stub_UE.c @@ -1044,6 +1044,11 @@ void UE_config_stub_pnf(void) { } } +void UE_init_socket(void) { + + // scpt socket creation and memcpy function calls here +} + /* Dummy functions*/ void handle_nfapi_hi_dci0_dci_pdu( diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c index 0962bb6a2d..35beb9b584 100644 --- a/targets/RT/USER/lte-ue.c +++ b/targets/RT/USER/lte-ue.c @@ -413,12 +413,12 @@ void init_UE_stub_single_thread(int nb_inst, // PHY_vars_UE_g[inst][0] = init_ue_vars(NULL,inst,0); } - init_timer_thread(); + init_timer_thread(); // dont need this init_UE_single_thread_stub(nb_inst); printf("UE threads created \n"); LOG_I(PHY,"Starting multicast link on %s\n",emul_iface); - if(NFAPI_MODE!=NFAPI_UE_STUB_PNF) + if(NFAPI_MODE!=NFAPI_UE_STUB_PNF) // dont need this multicast_link_start(ue_stub_rx_handler,0,emul_iface); } diff --git a/targets/RT/USER/lte-uesoftmodem.c b/targets/RT/USER/lte-uesoftmodem.c index 2c9271888b..fd431ea770 100644 --- a/targets/RT/USER/lte-uesoftmodem.c +++ b/targets/RT/USER/lte-uesoftmodem.c @@ -631,7 +631,7 @@ int main( int argc, char **argv ) { NB_INST=1; - if(NFAPI_MODE==NFAPI_UE_STUB_PNF) { + if(NFAPI_MODE==NFAPI_UE_STUB_PNF) { // || NFAPI_MODE_STANDALONE_PNF PHY_vars_UE_g = malloc(sizeof(PHY_VARS_UE **)*NB_UE_INST); for (int i=0; i2 */ cpu_set_t cpuset; @@ -667,7 +667,7 @@ int main( int argc, char **argv ) { if (get_nprocs() > 2) { for (j = 2; j < get_nprocs(); j++) CPU_SET(j, &cpuset); - + s = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); if (s != 0) { @@ -708,6 +708,8 @@ int main( int argc, char **argv ) { UE_config_stub_pnf(); } + // add socket here and call corresponding memcpys - Andrew + printf("ITTI tasks created\n"); mlockall(MCL_CURRENT | MCL_FUTURE); rt_sleep_ns(10*100000000ULL); @@ -719,7 +721,18 @@ int main( int argc, char **argv ) { //Panos: Temporarily we will be using single set of threads for multiple UEs. //init_UE_stub(1,eMBMS_active,uecap_xer_in,emul_iface); init_UE_stub_single_thread(NB_UE_INST,eMBMS_active,uecap_xer_in,emul_iface); - } else { + } else if (NFAPI_MODE==NFAPI_MODE_STANDALONE_PNF) { + // init thread and open socket + + /* + need to do this in thread + l2_init_ue(eMBMS_active,(uecap_xer_in==1)?uecap_xer:NULL, + 0,// cba_group_active + 0); // HO flag + */ + + } + else { init_UE(NB_UE_INST,eMBMS_active,uecap_xer_in,0,get_softmodem_params()->phy_test,UE_scan,UE_scan_carrier,mode,(int)rx_gain[0][0],tx_max_power[0], frame_parms[0]); }