phy_simulators do compile, but dlsim&nr_(ulsch/dlsch/pbch)sims do not pass tests + Raphael's CI patch applied.
This commit is contained in:
@@ -259,7 +259,7 @@ case $key in
|
||||
VM_NAME=ci-phy-sim
|
||||
ARCHIVES_LOC=phy_sim
|
||||
LOG_PATTERN=.Rel15.txt
|
||||
NB_PATTERN_FILES=10
|
||||
NB_PATTERN_FILES=8
|
||||
BUILD_OPTIONS="--phy_simulators"
|
||||
VM_MEMORY=8192
|
||||
RUN_OPTIONS="./run_exec_autotests.bash -g \"01510*\" -q -np -b"
|
||||
@@ -372,7 +372,7 @@ case $key in
|
||||
VM_NAME=ci-phy-sim
|
||||
ARCHIVES_LOC=phy_sim
|
||||
LOG_PATTERN=.Rel15.txt
|
||||
NB_PATTERN_FILES=10
|
||||
NB_PATTERN_FILES=8
|
||||
BUILD_OPTIONS="--phy_simulators"
|
||||
VM_MEMORY=8192
|
||||
RUN_OPTIONS="./run_exec_autotests.bash -g \"01510*\" -q -np -b"
|
||||
|
||||
@@ -574,26 +574,32 @@ function report_build {
|
||||
summary_table_header "OAI Build Physical simulators option" ./archives/phy_sim
|
||||
summary_table_row "DL Simulator - Release 15" ./archives/phy_sim/dlsim.Rel15.txt "Built target dlsim" ./phy_sim_row1.html
|
||||
summary_table_row "UL Simulator - Release 15" ./archives/phy_sim/ulsim.Rel15.txt "Built target ulsim" ./phy_sim_row2.html
|
||||
summary_table_row "Coding - Release 15" ./archives/phy_sim/coding.Rel15.txt "Built target coding" ./phy_sim_row3.html
|
||||
if [ -f ./archives/phy_sim/ldpctest.Rel15.txt ]
|
||||
then
|
||||
summary_table_row "LDPC Test - Release 15" ./archives/phy_sim/ldpctest.Rel15.txt "Built target ldpctest" ./phy_sim_row4.html
|
||||
summary_table_row "LDPC Test - Release 15" ./archives/phy_sim/ldpctest.Rel15.txt "Built target ldpctest" ./phy_sim_row3.html
|
||||
fi
|
||||
if [ -f ./archives/phy_sim/polartest.Rel15.txt ]
|
||||
then
|
||||
summary_table_row "Polar Test - Release 15" ./archives/phy_sim/polartest.Rel15.txt "Built target polartest" ./phy_sim_row5.html
|
||||
summary_table_row "Polar Test - Release 15" ./archives/phy_sim/polartest.Rel15.txt "Built target polartest" ./phy_sim_row4.html
|
||||
fi
|
||||
if [ -f ./archives/phy_sim/nr_pbchsim.Rel15.txt ]
|
||||
then
|
||||
summary_table_row "PBCH Test - Release 15" ./archives/phy_sim/nr_pbchsim.Rel15.txt "Built target nr_pbchsim" ./phy_sim_row6.html
|
||||
summary_table_row "PBCH Test - Release 15" ./archives/phy_sim/nr_pbchsim.Rel15.txt "Built target nr_pbchsim" ./phy_sim_row5.html
|
||||
fi
|
||||
if [ -f ./archives/phy_sim/nr_dlschsim.Rel15.txt ]
|
||||
then
|
||||
summary_table_row "DLSCH Test - Release 15" ./archives/phy_sim/nr_dlschsim.Rel15.txt "Built target nr_dlschsim" ./phy_sim_row7.html
|
||||
summary_table_row "DLSCH Test - Release 15" ./archives/phy_sim/nr_dlschsim.Rel15.txt "Built target nr_dlschsim" ./phy_sim_row6.html
|
||||
fi
|
||||
if [ -f ./archives/phy_sim/smallblocktest.Rel15.txt ]
|
||||
then
|
||||
summary_table_row "Small Block Test - Release 15" ./archives/phy_sim/smallblocktest.Rel15.txt "Built target smallblocktest" ./phy_sim_row7.html
|
||||
fi
|
||||
if [ -f ./archives/phy_sim/nr_dlsim.Rel15.txt ]
|
||||
then
|
||||
summary_table_row "NR DL Simulator - Release 15" ./archives/phy_sim/nr_dlsim.Rel15.txt "Built target nr_dlsim" ./phy_sim_row8.html
|
||||
fi
|
||||
summary_table_footer
|
||||
|
||||
|
||||
if [ -f archives/gnb_usrp/nr-softmodem.Rel15.txt ]
|
||||
then
|
||||
summary_table_header "OAI Build gNB -- USRP option" ./archives/gnb_usrp
|
||||
@@ -666,7 +672,7 @@ function report_build {
|
||||
cat $DETAILS_TABLE >> ./build_results.html
|
||||
done
|
||||
fi
|
||||
if [ -f ./phy_sim_row1.html ] || [ -f ./phy_sim_row2.html ] || [ -f ./phy_sim_row3.html ]
|
||||
if [ -f ./phy_sim_row1.html ] || [ -f ./phy_sim_row2.html ] || [ -f ./phy_sim_row3.html ] || [ -f ./phy_sim_row4.html ] || [ -f ./phy_sim_row5.html ] || [ -f ./phy_sim_row6.html ] || [ -f ./phy_sim_row7.html ] || [ -f ./phy_sim_row8.html ]
|
||||
then
|
||||
for DETAILS_TABLE in `ls ./phy_sim_row*.html`
|
||||
do
|
||||
|
||||
@@ -177,6 +177,7 @@ set(CMAKE_CXX_FLAGS
|
||||
"${CMAKE_CXX_FLAGS} ${C_FLAGS_PROCESSOR} -std=c++11 -D${MKVER}"
|
||||
)
|
||||
|
||||
add_definitions("-DASN_DISABLE_OER_SUPPORT")
|
||||
|
||||
#########################
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,${CMAKE_CURRENT_BINARY_DIR}")
|
||||
@@ -282,12 +283,11 @@ set(asn1_generated_dir ${OPENAIR_BIN_DIR})
|
||||
set(protoc_call "${OPENAIR_CMAKE}/tools/generate_protobuf")
|
||||
set(protobuf_generated_dir ${OPENAIR_BIN_DIR})
|
||||
|
||||
|
||||
# RRC
|
||||
######
|
||||
|
||||
add_list2_option(RRC_ASN1_VERSION "Rel15" "ASN.1 version of RRC interface" "Rel8" "Rel10" "Rel14" "CBA")
|
||||
|
||||
|
||||
if (${RRC_ASN1_VERSION} STREQUAL "Rel8")
|
||||
make_version(LTE_RRC_VERSION 8 6 0)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn)
|
||||
@@ -311,8 +311,8 @@ elseif (${RRC_ASN1_VERSION} STREQUAL "Rel14")
|
||||
make_version(LTE_RRC_VERSION 14 7 0)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.7.0.asn1)
|
||||
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel15")
|
||||
make_version(LTE_RRC_VERSION 15 2 2)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.2.asn1)
|
||||
make_version(LTE_RRC_VERSION 15 3 0)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.3.0.asn1)
|
||||
endif (${RRC_ASN1_VERSION} STREQUAL "Rel8")
|
||||
add_definitions(-DLTE_RRC_VERSION=${LTE_RRC_VERSION})
|
||||
set (RRC_FULL_DIR ${asn1_generated_dir}/RRC_${RRC_ASN1_VERSION})
|
||||
@@ -337,9 +337,9 @@ add_library(RRC_LIB ${rrc_source}
|
||||
add_dependencies(RRC_LIB rrc_flag)
|
||||
include_directories ("${RRC_FULL_DIR}")
|
||||
|
||||
|
||||
#NR RRC
|
||||
#######
|
||||
|
||||
add_list2_option(NR_RRC_ASN1_VERSION "NR_Rel15" "ASN.1 version of NR_RRC interface")
|
||||
|
||||
if (${NR_RRC_ASN1_VERSION} STREQUAL "NR_Rel15")
|
||||
@@ -2823,6 +2823,7 @@ if (${T_TRACER})
|
||||
dlsim_tm4 nr_dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim
|
||||
pdcchsim pucchsim prachsim syncsim ulsim ldpctest polartest
|
||||
cu_test du_test
|
||||
|
||||
#all "add_library" definitions
|
||||
ITTI RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB F1AP_LIB
|
||||
F1AP params_libconfig oai_exmimodevif oai_usrpdevif oai_bladerfdevif
|
||||
@@ -2965,7 +2966,3 @@ ADD_CUSTOM_TARGET(oarf
|
||||
)
|
||||
|
||||
include (${OPENAIR_DIR}/common/utils/telnetsrv/telnetsrv_CMakeLists.txt)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1019,14 +1019,14 @@
|
||||
<main_exec> $OPENAIR_DIR/targets/bin/ldpctest.Rel15</main_exec>
|
||||
<main_exec_args>-l3872 -s10 -n100
|
||||
-l4224 -s10 -n100
|
||||
-l4576 -s10 -n100
|
||||
-l4928 -s10 -n100
|
||||
-l5280 -s10 -n100
|
||||
-l5632 -s10 -n100
|
||||
-l6336 -s10 -n100
|
||||
-l7040 -s10 -n100
|
||||
-l7744 -s10 -n100
|
||||
-l8448 -s10 -n100</main_exec_args>
|
||||
-l4576 -s10 -n100
|
||||
-l4928 -s10 -n100
|
||||
-l5280 -s10 -n100
|
||||
-l5632 -s10 -n100
|
||||
-l6336 -s10 -n100
|
||||
-l7040 -s10 -n100
|
||||
-l7744 -s10 -n100
|
||||
-l8448 -s10 -n100</main_exec_args>
|
||||
<tags>ldpctest.test1 ldpctest.test2 ldpctest.test3 ldpctest.test4 ldpctest.test5 ldpctest.test6 ldpctest.test7 ldpctest.test8 ldpctest.test9 ldpctest.test10</tags>
|
||||
<search_expr_true>BLER 0.000000</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
@@ -1067,9 +1067,9 @@
|
||||
<main_exec> $OPENAIR_DIR/targets/bin/nr_pbchsim.Rel15</main_exec>
|
||||
<main_exec_args>-s0 -S1 -n1000 -R106
|
||||
-s0 -S1 -n10 -I -R106
|
||||
-s0 -S1 -n1000 -R217
|
||||
-s0 -S1 -n1000 -R217
|
||||
-s0 -S1 -n10 -I -R217
|
||||
-s0 -S1 -n1000 -R273
|
||||
-s0 -S1 -n1000 -R273
|
||||
-s0 -S1 -n10 -I -R273</main_exec_args>
|
||||
<tags>nr_pbchsim.test1 nr_pbchsim.test2 nr_pbchsim.test3 nr_pbchsim.test4 nr_pbchsim.test5 nr_pbchsim.test6</tags>
|
||||
<search_expr_true>PBCH test OK</search_expr_true>
|
||||
@@ -1089,8 +1089,8 @@
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec> $OPENAIR_DIR/targets/bin/nr_dlsim.Rel15</main_exec>
|
||||
<main_exec_args>-n100 -R106
|
||||
-n100 -R217
|
||||
-n100 -R273</main_exec_args>
|
||||
-n100 -R217
|
||||
-n100 -R273</main_exec_args>
|
||||
<tags>nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3</tags>
|
||||
<search_expr_true>PDCCH test OK</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
@@ -1130,9 +1130,9 @@
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec> $OPENAIR_DIR/targets/bin/smallblocktest.Rel15</main_exec>
|
||||
<main_exec_args>-l 3 -s -4 -d 1 -i 10000
|
||||
-l 6 -s -4 -d 1 -i 10000
|
||||
-l 7 -s -4 -d 1 -i 10000
|
||||
-l 11 -s -4 -d 1 -i 10000</main_exec_args>
|
||||
-l 6 -s -4 -d 1 -i 10000
|
||||
-l 7 -s -4 -d 1 -i 10000
|
||||
-l 11 -s -4 -d 1 -i 10000</main_exec_args>
|
||||
<tags>smallblocktest.test1 smallblocktest.test2 smallblocktest.test3 smallblocktest.test4</tags>
|
||||
<search_expr_true>BLER= 0.000000</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
|
||||
@@ -34,9 +34,6 @@
|
||||
#define INCLUDE_CONFIG_PARAMDESC_H
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define MAX_OPTNAME_SIZE 64
|
||||
#define CONFIG_MAXOPTLENGTH 512 /* max full option length, full option name exemple: (prefix1.[<index>].prefix2.optname */
|
||||
|
||||
|
||||
@@ -183,6 +183,7 @@ typedef enum {
|
||||
MIN_LOG_COMPONENTS = 0,
|
||||
PHY = MIN_LOG_COMPONENTS,
|
||||
MAC,
|
||||
EMU,
|
||||
SIM,
|
||||
OCG,
|
||||
OMG,
|
||||
@@ -199,6 +200,7 @@ typedef enum {
|
||||
NAS,
|
||||
PERF,
|
||||
OIP,
|
||||
CLI,
|
||||
MSC,
|
||||
OCM,
|
||||
UDP_,
|
||||
@@ -219,6 +221,10 @@ typedef enum {
|
||||
PROTO_AGENT,
|
||||
F1U,
|
||||
X2AP,
|
||||
GNB_APP,
|
||||
NR_RRC,
|
||||
NR_MAC,
|
||||
NR_PHY,
|
||||
LOADER,
|
||||
ASN,
|
||||
NFAPI_VNF,
|
||||
|
||||
+1
-1
@@ -2146,7 +2146,7 @@ void stop_RU(int nb_ru) {
|
||||
void RCconfig_RU(void) {
|
||||
int j = 0;
|
||||
int i = 0;
|
||||
paramdef_t RUParams[] = RUPARAMS_DESC;
|
||||
paramdef_t RUParams[] = GNBRUPARAMS_DESC;
|
||||
paramlist_def_t RUParamList = {CONFIG_STRING_RU_LIST,NULL,0};
|
||||
config_getlist( &RUParamList,RUParams,sizeof(RUParams)/sizeof(paramdef_t), NULL);
|
||||
|
||||
|
||||
@@ -335,8 +335,10 @@ void nr_pdcch_extract_rbs_single(int32_t **rxdataF,
|
||||
#ifdef NR_PDCCH_DCI_DEBUG
|
||||
int nushiftmod3 = frame_parms->nushift % 3;
|
||||
#endif
|
||||
uint8_t symbol_mod;
|
||||
symbol_mod = (symbol >= (7 - frame_parms->Ncp)) ? symbol - (7 - frame_parms->Ncp) : symbol;
|
||||
|
||||
#if defined(DEBUG_DCI_DECODING) || defined(NR_PDCCH_DCI_DEBUG)
|
||||
uint8_t symbol_mod = (symbol >= (7 - frame_parms->Ncp)) ? symbol - (7 - frame_parms->Ncp) : symbol;
|
||||
#endif
|
||||
c_rb = n_BWP_start; // c_rb is the common resource block: RB within the BWP
|
||||
#ifdef DEBUG_DCI_DECODING
|
||||
LOG_I(PHY, "extract_rbs_single: symbol_mod %d\n",symbol_mod);
|
||||
|
||||
@@ -2172,7 +2172,7 @@ void nr_dlsch_detection_mrc_core(int **rxdataF_comp,
|
||||
__m128i *dl_ch_mag128_0, *dl_ch_mag128_1, *dl_ch_mag128_2, *dl_ch_mag128_3;
|
||||
__m128i *dl_ch_mag128_0b, *dl_ch_mag128_1b, *dl_ch_mag128_2b, *dl_ch_mag128_3b;
|
||||
__m128i *rho128_0, *rho128_1, *rho128_2=NULL, *rho128_3=NULL;
|
||||
__m128i *rho128_i0, *rho128_i1, *rho128_i2, *rho128_i3;
|
||||
__m128i *rho128_i0, *rho128_i1, *rho128_i2=NULL, *rho128_i3=NULL;
|
||||
int length_mod4 = 0;
|
||||
int length2;
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ extern unsigned char NB_RU;
|
||||
|
||||
#ifndef OPENAIR2
|
||||
extern unsigned char NB_eNB_INST;
|
||||
extern unsigned char NB_UE_INST;
|
||||
extern uint16_t NB_UE_INST;
|
||||
extern unsigned char NB_RN_INST;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ extern unsigned char NB_RU;
|
||||
|
||||
#ifndef OPENAIR2
|
||||
extern unsigned char NB_eNB_INST;
|
||||
extern unsigned char NB_UE_INST;
|
||||
extern uint16_t NB_UE_INST;
|
||||
extern unsigned char NB_RN_INST;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ extern char mode_string[4][20];
|
||||
|
||||
#ifndef OPENAIR2
|
||||
extern unsigned char NB_eNB_INST;
|
||||
extern unsigned char NB_UE_INST;
|
||||
extern uint16_t NB_UE_INST;
|
||||
extern unsigned char NB_RN_INST;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ unsigned char NB_RU=0;
|
||||
|
||||
#ifndef OPENAIR2
|
||||
unsigned char NB_eNB_INST=0;
|
||||
unsigned char NB_UE_INST=0;
|
||||
uint16_t NB_UE_INST=0;
|
||||
unsigned char NB_RN_INST=0;
|
||||
unsigned char NB_INST=0;
|
||||
#endif
|
||||
|
||||
@@ -59,7 +59,7 @@ unsigned char NB_RU=0;
|
||||
|
||||
#ifndef OPENAIR2
|
||||
unsigned char NB_eNB_INST=0;
|
||||
unsigned char NB_UE_INST=0;
|
||||
uint16_t NB_UE_INST=0;
|
||||
unsigned char NB_RN_INST=0;
|
||||
unsigned char NB_INST=0;
|
||||
#endif
|
||||
|
||||
@@ -52,7 +52,7 @@ short conjugate2[8]__attribute__((aligned(16))) = {1,-1,1,-1,1,-1,1,-1};
|
||||
|
||||
#ifndef OPENAIR2
|
||||
unsigned char NB_eNB_INST=0;
|
||||
unsigned char NB_UE_INST=0;
|
||||
uint16_t NB_UE_INST=0;
|
||||
unsigned char NB_RN_INST=0;
|
||||
unsigned char NB_INST=0;
|
||||
#endif
|
||||
|
||||
@@ -254,7 +254,7 @@ int init_test(unsigned char N_tx, unsigned char N_rx, unsigned char transmission
|
||||
}
|
||||
|
||||
/* dummy initialisation of global structure PHY_vars_UE_g */
|
||||
unsigned char NB_UE_INST=1;
|
||||
uint16_t NB_UE_INST=1;
|
||||
PHY_vars_UE_g = (PHY_VARS_NR_UE ** *)calloc( NB_UE_INST, sizeof(PHY_VARS_NR_UE **));
|
||||
|
||||
for (int UE_id=0; UE_id<NB_UE_INST; UE_id++) {
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
#include "LTE_SL-CP-Len-r12.h"
|
||||
#include "LTE_SL-PeriodComm-r12.h"
|
||||
#include "LTE_SL-DiscResourcePool-r12.h"
|
||||
|
||||
#include "NR_RACH-ConfigCommon.h"
|
||||
|
||||
//-------------------------------------------------------------------------------------------//
|
||||
// Messages for RRC logging
|
||||
@@ -484,7 +484,7 @@ typedef struct NRRrcConfigurationReq_s {
|
||||
uint32_t rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_sixteen[MAX_NUM_CCs];
|
||||
BOOLEAN_t rach_groupBconfigured[MAX_NUM_CCs];
|
||||
long rach_ra_Msg3SizeGroupA[MAX_NUM_CCs];
|
||||
long rach_messagePowerOffsetGroupB[MAX_NUM_CCs];
|
||||
e_NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB rach_messagePowerOffsetGroupB[MAX_NUM_CCs];
|
||||
long rach_numberOfRA_PreamblesGroupA[MAX_NUM_CCs];
|
||||
long rach_ra_ContentionResolutionTimer[MAX_NUM_CCs];
|
||||
long rsrp_ThresholdSSB[MAX_NUM_CCs];
|
||||
|
||||
@@ -81,9 +81,9 @@
|
||||
#define UETT310(A) LTE_UE_TimersAndConstants__t310_ ## A
|
||||
#define UETIMER_T310_MODVALUES { UETT310(ms0), UETT310(ms50),UETT310(ms100),UETT310(ms200),UETT310(ms500),UETT310(ms1000),UETT310(ms2000)}
|
||||
|
||||
#define UETIMER_T311_OKVALUES {1000,3110,5000,10000,15000,20000,31100}
|
||||
#define UETIMER_T311_OKVALUES {1000,3000,5000,10000,15000,20000,30000}
|
||||
#define UETT311(A) LTE_UE_TimersAndConstants__t311_ ## A
|
||||
#define UETIMER_T311_MODVALUES { UETT311(ms1000), UETT311(ms3000),UETT311(ms5000),UETT311(ms10000),UETT311(ms15000),UETT311(ms20000),UETT311(ms30000)}
|
||||
#define UETIMER_T311_MODVALUES { UETT311(ms1000), UETT311(ms3000), UETT311(ms5000), UETT311(ms10000), UETT311(ms15000), UETT311(ms20000), UETT311(ms30000)}
|
||||
|
||||
#define UETIMER_N310_OKVALUES {1,2,3,4,6,8,10,20}
|
||||
#define UETN310(A) LTE_UE_TimersAndConstants__n310_ ## A
|
||||
|
||||
@@ -35,28 +35,16 @@
|
||||
#include "common/config/config_paramdesc.h"
|
||||
#include "RRC_paramsvalues.h"
|
||||
|
||||
|
||||
|
||||
#define ENB_CONFIG_STRING_CC_NODE_FUNCTION "node_function"
|
||||
#define ENB_CONFIG_STRING_CC_NODE_TIMING "node_timing"
|
||||
#define ENB_CONFIG_STRING_CC_NODE_SYNCH_REF "node_synch_ref"
|
||||
|
||||
|
||||
// OTG config per ENB-UE DL
|
||||
#define ENB_CONF_STRING_OTG_CONFIG "otg_config"
|
||||
#define ENB_CONF_STRING_OTG_UE_ID "ue_id"
|
||||
#define ENB_CONF_STRING_OTG_APP_TYPE "app_type"
|
||||
#define ENB_CONF_STRING_OTG_BG_TRAFFIC "bg_traffic"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef LIBCONFIG_LONG
|
||||
#define libconfig_int long
|
||||
#else
|
||||
|
||||
@@ -162,6 +162,8 @@ typedef struct {
|
||||
char *cache_name;
|
||||
|
||||
mid_t mod_id;
|
||||
uint64_t agent_id;
|
||||
uint16_t capability_mask;
|
||||
|
||||
/* lock for waiting before starting or soft-restart */
|
||||
pthread_cond_t cond_node_ctrl;
|
||||
|
||||
@@ -21,14 +21,15 @@
|
||||
|
||||
/*! \file openair2/GNB_APP/RRC_nr_paramsvalues.h
|
||||
* \brief macro definitions for RRC authorized and asn1 parameters values, to be used in paramdef_t/chechedparam_t structure initializations
|
||||
* \author Francois TABURET, WEI-TAI CHEN
|
||||
* \author Francois TABURET, WEI-TAI CHEN, Turker Yilmaz
|
||||
* \date 2018
|
||||
* \version 0.1
|
||||
* \company NOKIA BellLabs France, NTUST
|
||||
* \email: francois.taburet@nokia-bell-labs.com, kroempa@gmail.com
|
||||
* \company NOKIA BellLabs France, NTUST, EURECOM
|
||||
* \email: francois.taburet@nokia-bell-labs.com, kroempa@gmail.com, turker.yilmaz@eurecom.fr
|
||||
* \note
|
||||
* \warning
|
||||
*/
|
||||
|
||||
#ifndef __NR_RRC_PARAMSVALUES__H__
|
||||
#define __NR_RRC_PARAMSVALUES__H__
|
||||
/* cell configuration section name */
|
||||
@@ -62,28 +63,32 @@
|
||||
|
||||
#define NRBDL_OKVALUES {6,15,25,50,75,100}
|
||||
|
||||
#define UETIMER_T300_OKVALUES {100,200,300,400,600,1000,1500,2000}
|
||||
#define UETT300(A) UE_TimersAndConstants__t300_ ## A
|
||||
#define UETIMER_T300_MODVALUES { UETT300(ms100), UETT300(ms200),UETT300(ms300),UETT300(ms400),UETT300(ms600),UETT300(ms1000),UETT300(ms1500),UETT300(ms2000)}
|
||||
#define NRUETIMER_T300_OKVALUES {100,200,300,400,600,1000,1500,2000}
|
||||
#define NRUETT300(A) NR_UE_TimersAndConstants__t300_ ## A
|
||||
#define NRUETIMER_T300_MODVALUES { NRUETT300(ms100), NRUETT300(ms200), NRUETT300(ms300), NRUETT300(ms400), NRUETT300(ms600), NRUETT300(ms1000), NRUETT300(ms1500), NRUETT300(ms2000)}
|
||||
|
||||
#define UETIMER_T301_OKVALUES {100,200,300,400,600,1000,1500,2000}
|
||||
#define UETT301(A) UE_TimersAndConstants__t301_ ## A
|
||||
#define UETIMER_T301_MODVALUES { UETT301(ms100), UETT301(ms200),UETT301(ms300),UETT301(ms400),UETT301(ms600),UETT301(ms1000),UETT301(ms1500),UETT301(ms2000)}
|
||||
#define NRUETIMER_T301_OKVALUES {100,200,300,400,600,1000,1500,2000}
|
||||
#define NRUETT301(A) NR_UE_TimersAndConstants__t301_ ## A
|
||||
#define NRUETIMER_T301_MODVALUES { NRUETT301(ms100), NRUETT301(ms200), NRUETT301(ms300), NRUETT301(ms400), NRUETT301(ms600), NRUETT301(ms1000), NRUETT301(ms1500), NRUETT301(ms2000)}
|
||||
|
||||
#define UETIMER_T310_OKVALUES {0,50,100,200,500,1000,2000}
|
||||
#define UETT310(A) UE_TimersAndConstants__t310_ ## A
|
||||
#define UETIMER_T310_MODVALUES { UETT310(ms0), UETT310(ms50),UETT310(ms100),UETT310(ms200),UETT310(ms500),UETT310(ms1000),UETT310(ms2000)}
|
||||
#define NRUETIMER_T310_OKVALUES {0,50,100,200,500,1000,2000}
|
||||
#define NRUETT310(A) NR_UE_TimersAndConstants__t310_ ## A
|
||||
#define NRUETIMER_T310_MODVALUES { NRUETT310(ms0), NRUETT310(ms50), NRUETT310(ms100), NRUETT310(ms200), NRUETT310(ms500), NRUETT310(ms1000), NRUETT310(ms2000)}
|
||||
|
||||
#define UETIMER_T311_OKVALUES {1000,3110,5000,10000,15000,20000,31100}
|
||||
#define UETT311(A) UE_TimersAndConstants__t311_ ## A
|
||||
#define UETIMER_T311_MODVALUES { UETT311(ms1000), UETT311(ms3000),UETT311(ms5000),UETT311(ms10000),UETT311(ms15000),UETT311(ms20000),UETT311(ms30000)}
|
||||
#define NRUETIMER_T311_OKVALUES {1000,3000,5000,10000,15000,20000,30000}
|
||||
#define NRUETT311(A) NR_UE_TimersAndConstants__t311_ ## A
|
||||
#define NRUETIMER_T311_MODVALUES { NRUETT311(ms1000), NRUETT311(ms3000), NRUETT311(ms5000), NRUETT311(ms10000), NRUETT311(ms15000), NRUETT311(ms20000), NRUETT311(ms30000)}
|
||||
|
||||
#define UETIMER_N310_OKVALUES {1,2,3,4,6,8,10,20}
|
||||
#define UETN310(A) UE_TimersAndConstants__n310_ ## A
|
||||
#define UETIMER_N310_MODVALUES { UETN310(n1), UETN310(n2),UETN310(n3),UETN310(n4),UETN310(n6),UETN310(n8),UETN310(n10),UETN310(n20)}
|
||||
#define NRUETIMER_T319_OKVALUES {100,200,300,400,600,1000,1500,2000}
|
||||
#define NRUETT319(A) NR_UE_TimersAndConstants__t319_ ## A
|
||||
#define NRUETIMER_T319_MODVALUES { NRUETT319(ms100), NRUETT319(ms200), NRUETT319(ms300), NRUETT319(ms400), NRUETT319(ms600), NRUETT319(ms1000), NRUETT319(ms1500), NRUETT319(ms2000}
|
||||
|
||||
#define UETIMER_N311_OKVALUES {1,2,3,4,5,6,8,10}
|
||||
#define UETN311(A) UE_TimersAndConstants__n311_ ## A
|
||||
#define UETIMER_N311_MODVALUES { UETN311(n1), UETN311(n2),UETN311(n3),UETN311(n4),UETN311(n5),UETN311(n6),UETN311(n8),UETN311(n10)}
|
||||
#define NRUETIMER_N310_OKVALUES {1,2,3,4,6,8,10,20}
|
||||
#define NRUETN310(A) NR_UE_TimersAndConstants__n310_ ## A
|
||||
#define NRUETIMER_N310_MODVALUES { NRUETN310(n1), NRUETN310(n2), NRUETN310(n3), NRUETN310(n4), NRUETN310(n6), NRUETN310(n8), NRUETN310(n10), NRUETN310(n20)}
|
||||
|
||||
#define NRUETIMER_N311_OKVALUES {1,2,3,4,5,6,8,10}
|
||||
#define NRUETN311(A) NR_UE_TimersAndConstants__n311_ ## A
|
||||
#define NRUETIMER_N311_MODVALUES { NRUETN311(n1), NRUETN311(n2), NRUETN311(n3), NRUETN311(n4), NRUETN311(n5), NRUETN311(n6), NRUETN311(n8), NRUETN311(n10)}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -249,12 +249,20 @@ void RCconfig_nr_flexran()
|
||||
RC.flexran[i]->mod_id = i;
|
||||
RC.flexran[i]->agent_id = (((uint64_t)i) << 48) | (((uint64_t)gnb_id) << 16) | ((uint64_t)Nid_cell_tr);
|
||||
|
||||
/* assume for the moment the monolithic case, i.e. agent can provide
|
||||
* information for all layers */
|
||||
RC.flexran[i]->capability_mask = FLEXRAN_CAP_LOPHY | FLEXRAN_CAP_HIPHY
|
||||
| FLEXRAN_CAP_LOMAC | FLEXRAN_CAP_HIMAC
|
||||
| FLEXRAN_CAP_RLC | FLEXRAN_CAP_PDCP
|
||||
| FLEXRAN_CAP_SDAP | FLEXRAN_CAP_RRC;
|
||||
/*
|
||||
* Assume for the moment the monolithic case, i.e. agent can provide information for all layers
|
||||
* Consider using uint16_t flexran_get_capabilities_mask(mid_t mod_id),
|
||||
* with RC.rrc[mod_id]->node_type = ngran_gNB
|
||||
*/
|
||||
RC.flexran[i]->capability_mask = (1 << PROTOCOL__FLEX_BS_CAPABILITY__LOPHY)
|
||||
| (1 << PROTOCOL__FLEX_BS_CAPABILITY__HIPHY)
|
||||
| (1 << PROTOCOL__FLEX_BS_CAPABILITY__LOMAC)
|
||||
| (1 << PROTOCOL__FLEX_BS_CAPABILITY__HIMAC)
|
||||
| (1 << PROTOCOL__FLEX_BS_CAPABILITY__RLC)
|
||||
| (1 << PROTOCOL__FLEX_BS_CAPABILITY__PDCP)
|
||||
| (1 << PROTOCOL__FLEX_BS_CAPABILITY__SDAP)
|
||||
| (1 << PROTOCOL__FLEX_BS_CAPABILITY__RRC);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -634,7 +642,7 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
|
||||
paramdef_t CCsParams[] = NRCCPARAMS_DESC;
|
||||
paramlist_def_t CCsParamList = {GNB_CONFIG_STRING_COMPONENT_CARRIERS,NULL,0};
|
||||
|
||||
//paramdef_t SRB1Params[] = SRB1PARAMS_DESC;
|
||||
//paramdef_t SRB1Params[] = GNBSRB1PARAMS_DESC;
|
||||
|
||||
/* get global parameters, defined outside any section in the config file */
|
||||
|
||||
@@ -701,7 +709,7 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
|
||||
char gnbpath[MAX_OPTNAME_SIZE + 8];
|
||||
sprintf(gnbpath,"%s.[%i]",GNB_CONFIG_STRING_GNB_LIST,k);
|
||||
|
||||
paramdef_t PLMNParams[] = PLMNPARAMS_DESC;
|
||||
paramdef_t PLMNParams[] = GNBPLMNPARAMS_DESC;
|
||||
paramlist_def_t PLMNParamList = {GNB_CONFIG_STRING_PLMN_LIST, NULL, 0};
|
||||
/* map parameter checking array instances to parameter definition array instances */
|
||||
checkedparam_t config_check_PLMNParams [] = PLMNPARAMS_CHECK;
|
||||
@@ -1617,21 +1625,21 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
|
||||
}// End switch (rach_ra_Msg3SizeGroupA)
|
||||
|
||||
if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_minusinfinity;
|
||||
NRRRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_minusinfinity;
|
||||
}else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB0;
|
||||
NRRRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB0;
|
||||
}else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB5;
|
||||
NRRRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB5;
|
||||
}else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB8;
|
||||
NRRRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB8;
|
||||
}else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB10;
|
||||
NRRRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB10;
|
||||
}else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB12;
|
||||
NRRRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB12;
|
||||
}else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB15;
|
||||
NRRRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB15;
|
||||
}else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB18;
|
||||
NRRRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = NR_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB18;
|
||||
}else{
|
||||
AssertFatal (0,"Failed to parse gNB configuration file %s, gnb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n",
|
||||
RC.config_file_name, i, rach_messagePowerOffsetGroupB);
|
||||
@@ -2740,7 +2748,7 @@ int RCconfig_nr_gtpu(void ) {
|
||||
|
||||
paramdef_t GNBSParams[] = GNBSPARAMS_DESC;
|
||||
|
||||
paramdef_t GTPUParams[] = GTPUPARAMS_DESC;
|
||||
paramdef_t GTPUParams[] = GNBGTPUPARAMS_DESC;
|
||||
LOG_I(GTPU,"Configuring GTPu\n");
|
||||
|
||||
/* get number of active eNodeBs */
|
||||
@@ -2845,7 +2853,7 @@ int RCconfig_NR_S1(MessageDef *msg_p, uint32_t i) {
|
||||
// search if in active list
|
||||
for (j=0; j < GNBSParams[GNB_ACTIVE_GNBS_IDX].numelt; j++) {
|
||||
if (strcmp(GNBSParams[GNB_ACTIVE_GNBS_IDX].strlistptr[j], *(GNBParamList.paramarray[k][GNB_GNB_NAME_IDX].strptr)) == 0) {
|
||||
paramdef_t PLMNParams[] = PLMNPARAMS_DESC;
|
||||
paramdef_t PLMNParams[] = GNBPLMNPARAMS_DESC;
|
||||
paramlist_def_t PLMNParamList = {GNB_CONFIG_STRING_PLMN_LIST, NULL, 0};
|
||||
/* map parameter checking array instances to parameter definition array instances */
|
||||
checkedparam_t config_check_PLMNParams [] = PLMNPARAMS_CHECK;
|
||||
@@ -2853,11 +2861,11 @@ int RCconfig_NR_S1(MessageDef *msg_p, uint32_t i) {
|
||||
for (int I = 0; I < sizeof(PLMNParams) / sizeof(paramdef_t); ++I)
|
||||
PLMNParams[I].chkPptr = &(config_check_PLMNParams[I]);
|
||||
|
||||
paramdef_t S1Params[] = S1PARAMS_DESC;
|
||||
paramdef_t S1Params[] = GNBS1PARAMS_DESC;
|
||||
paramlist_def_t S1ParamList = {GNB_CONFIG_STRING_MME_IP_ADDRESS,NULL,0};
|
||||
|
||||
paramdef_t SCTPParams[] = SCTPPARAMS_DESC;
|
||||
paramdef_t NETParams[] = NETPARAMS_DESC;
|
||||
paramdef_t SCTPParams[] = GNBSCTPPARAMS_DESC;
|
||||
paramdef_t NETParams[] = GNBNETPARAMS_DESC;
|
||||
char aprefix[MAX_OPTNAME_SIZE*2 + 8];
|
||||
|
||||
S1AP_REGISTER_ENB_REQ (msg_p).eNB_id = gnb_id;
|
||||
|
||||
@@ -57,12 +57,12 @@ extern int asn1_xer_print;
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
RU = 0,
|
||||
L1 = 1,
|
||||
L2 = 2,
|
||||
L3 = 3,
|
||||
S1 = 4,
|
||||
lastel = 5
|
||||
NRRU = 0,
|
||||
NRL1 = 1,
|
||||
NRL2 = 2,
|
||||
NRL3 = 3,
|
||||
NRS1 = 4,
|
||||
NRlastel = 5
|
||||
} NRRC_config_functions_t;
|
||||
|
||||
#define CONFIG_STRING_ACTIVE_RUS "Active_RUs"
|
||||
@@ -119,25 +119,25 @@ typedef enum {
|
||||
/* RU configuration parameters */
|
||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
#define RUPARAMS_DESC { \
|
||||
{CONFIG_STRING_RU_LOCAL_IF_NAME, NULL, 0, strptr:NULL, defstrval:"lo", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_LOCAL_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.2", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_REMOTE_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.1", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_LOCAL_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_REMOTE_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_LOCAL_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_REMOTE_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_TRANSPORT_PREFERENCE, NULL, 0, strptr:NULL, defstrval:"udp_if5", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_LOCAL_RF, NULL, 0, strptr:NULL, defstrval:"yes", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_NB_TX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_NB_RX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_MAX_RS_EPRE, NULL, 0, iptr:NULL, defintval:-29, TYPE_INT, 0}, \
|
||||
{CONFIG_STRING_RU_MAX_RXGAIN, NULL, 0, iptr:NULL, defintval:120, TYPE_INT, 0}, \
|
||||
#define GNBRUPARAMS_DESC { \
|
||||
{CONFIG_STRING_RU_LOCAL_IF_NAME, NULL, 0, strptr:NULL, defstrval:"lo", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_LOCAL_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.2", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_REMOTE_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.1", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_LOCAL_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_REMOTE_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_LOCAL_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_REMOTE_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_TRANSPORT_PREFERENCE, NULL, 0, strptr:NULL, defstrval:"udp_if5", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_LOCAL_RF, NULL, 0, strptr:NULL, defstrval:"yes", TYPE_STRING, 0}, \
|
||||
{CONFIG_STRING_RU_NB_TX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_NB_RX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_MAX_RS_EPRE, NULL, 0, iptr:NULL, defintval:-29, TYPE_INT, 0}, \
|
||||
{CONFIG_STRING_RU_MAX_RXGAIN, NULL, 0, iptr:NULL, defintval:120, TYPE_INT, 0}, \
|
||||
{CONFIG_STRING_RU_BAND_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFBANDS, TYPE_INTARRAY, 1}, \
|
||||
{CONFIG_STRING_RU_GNB_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFGNBS, TYPE_INTARRAY, 1}, \
|
||||
{CONFIG_STRING_RU_ATT_TX, NULL, 0, uptr:NULL, defintval:0, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_ATT_RX, NULL, 0, uptr:NULL, defintval:0, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_NBIOTRRC_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFGNBS, TYPE_INTARRAY, 1}, \
|
||||
{CONFIG_STRING_RU_ATT_TX, NULL, 0, uptr:NULL, defintval:0, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_ATT_RX, NULL, 0, uptr:NULL, defintval:0, TYPE_UINT, 0}, \
|
||||
{CONFIG_STRING_RU_NBIOTRRC_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFGNBS, TYPE_INTARRAY, 1}, \
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
@@ -250,7 +250,7 @@ typedef enum {
|
||||
#define GNB_MOBILE_NETWORK_CODE_IDX 1
|
||||
#define GNB_MNC_DIGIT_LENGTH 2
|
||||
|
||||
#define PLMNPARAMS_DESC { \
|
||||
#define GNBPLMNPARAMS_DESC { \
|
||||
/* optname helpstr paramflags XXXptr def val type numelt */ \
|
||||
{GNB_CONFIG_STRING_MOBILE_COUNTRY_CODE, "mobile country code", 0, uptr:NULL, defuintval:1000, TYPE_UINT, 0}, \
|
||||
{GNB_CONFIG_STRING_MOBILE_NETWORK_CODE, "mobile network code", 0, uptr:NULL, defuintval:1000, TYPE_UINT, 0}, \
|
||||
@@ -913,7 +913,7 @@ typedef enum {
|
||||
/* SRB1 configuration parameters */
|
||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
#define SRB1PARAMS_DESC { \
|
||||
#define GNBSRB1PARAMS_DESC { \
|
||||
{GNB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT, NULL, 0, iptr:&srb1_timer_poll_retransmit, defintval:80, TYPE_UINT, 0}, \
|
||||
{GNB_CONFIG_STRING_SRB1_TIMER_REORDERING, NULL, 0, iptr:&srb1_timer_reordering, defintval:35, TYPE_UINT, 0}, \
|
||||
{GNB_CONFIG_STRING_SRB1_TIMER_STATUS_PROHIBIT, NULL, 0, iptr:&srb1_timer_status_prohibit, defintval:0, TYPE_UINT, 0}, \
|
||||
@@ -940,7 +940,7 @@ typedef enum {
|
||||
/* MME configuration parameters */
|
||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||
/*-------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
#define S1PARAMS_DESC { \
|
||||
#define GNBS1PARAMS_DESC { \
|
||||
{GNB_CONFIG_STRING_MME_IPV4_ADDRESS, NULL, 0, uptr:NULL, defstrval:NULL, TYPE_STRING, 0}, \
|
||||
{GNB_CONFIG_STRING_MME_IPV6_ADDRESS, NULL, 0, uptr:NULL, defstrval:NULL, TYPE_STRING, 0}, \
|
||||
{GNB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE, NULL, 0, uptr:NULL, defstrval:NULL, TYPE_STRING, 0}, \
|
||||
@@ -967,7 +967,7 @@ typedef enum {
|
||||
/* SRB1 configuration parameters */
|
||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
#define SCTPPARAMS_DESC { \
|
||||
#define GNBSCTPPARAMS_DESC { \
|
||||
{GNB_CONFIG_STRING_SCTP_INSTREAMS, NULL, 0, uptr:NULL, defintval:-1, TYPE_UINT, 0}, \
|
||||
{GNB_CONFIG_STRING_SCTP_OUTSTREAMS, NULL, 0, uptr:NULL, defintval:-1, TYPE_UINT, 0} \
|
||||
}
|
||||
@@ -996,7 +996,7 @@ typedef enum {
|
||||
/* S1 interface configuration parameters */
|
||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||
/*--------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
#define NETPARAMS_DESC { \
|
||||
#define GNBNETPARAMS_DESC { \
|
||||
{GNB_CONFIG_STRING_GNB_INTERFACE_NAME_FOR_S1_MME, NULL, 0, strptr:NULL, defstrval:NULL, TYPE_STRING, 0}, \
|
||||
{GNB_CONFIG_STRING_GNB_IPV4_ADDRESS_FOR_S1_MME, NULL, 0, strptr:NULL, defstrval:NULL, TYPE_STRING, 0}, \
|
||||
{GNB_CONFIG_STRING_GNB_INTERFACE_NAME_FOR_S1U, NULL, 0, strptr:NULL, defstrval:NULL, TYPE_STRING, 0}, \
|
||||
@@ -1010,7 +1010,7 @@ typedef enum {
|
||||
/* GTPU configuration parameters */
|
||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||
/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
#define GTPUPARAMS_DESC { \
|
||||
#define GNBGTPUPARAMS_DESC { \
|
||||
{GNB_CONFIG_STRING_GNB_INTERFACE_NAME_FOR_S1U, NULL, 0, strptr:&gnb_interface_name_for_S1U, defstrval:"lo", TYPE_STRING, 0}, \
|
||||
{GNB_CONFIG_STRING_GNB_IPV4_ADDR_FOR_S1U, NULL, 0, strptr:&gnb_ipv4_address_for_S1U, defstrval:"127.0.0.1", TYPE_STRING, 0}, \
|
||||
{GNB_CONFIG_STRING_GNB_PORT_FOR_S1U, NULL, 0, uptr:&gnb_port_for_S1U, defintval:2152, TYPE_UINT, 0} \
|
||||
|
||||
@@ -1312,7 +1312,7 @@ initiate_ra_proc(module_id_t module_idP,
|
||||
int16_t timing_offset,
|
||||
uint16_t ra_rnti
|
||||
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
|
||||
, uint8_t rach_resource_type
|
||||
,uint8_t rach_resource_type
|
||||
#endif
|
||||
) {
|
||||
uint8_t i;
|
||||
|
||||
@@ -52,9 +52,8 @@ extern int oai_nfapi_rx_ind(nfapi_rx_indication_t *ind);
|
||||
extern uint8_t nfapi_mode;
|
||||
extern uint16_t sf_ahead;
|
||||
|
||||
void handle_nr_rach(NR_UL_IND_t *UL_info) {
|
||||
int i;
|
||||
|
||||
void handle_nr_rach(NR_UL_IND_t *UL_info)
|
||||
{
|
||||
if (UL_info->rach_ind.rach_indication_body.number_of_preambles>0) {
|
||||
|
||||
AssertFatal(UL_info->rach_ind.rach_indication_body.number_of_preambles==1,"More than 1 preamble not supported\n");
|
||||
@@ -67,7 +66,8 @@ void handle_nr_rach(NR_UL_IND_t *UL_info) {
|
||||
UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.preamble,
|
||||
UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.timing_advance,
|
||||
UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.rnti
|
||||
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
|
||||
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) || (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
|
||||
//#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
|
||||
,0
|
||||
#endif
|
||||
);
|
||||
@@ -77,7 +77,7 @@ void handle_nr_rach(NR_UL_IND_t *UL_info) {
|
||||
if (UL_info->rach_ind_br.rach_indication_body.number_of_preambles>0) {
|
||||
|
||||
AssertFatal(UL_info->rach_ind_br.rach_indication_body.number_of_preambles<5,"More than 4 preambles not supported\n");
|
||||
for (i=0;i<UL_info->rach_ind_br.rach_indication_body.number_of_preambles;i++) {
|
||||
for (int i=0;i<UL_info->rach_ind_br.rach_indication_body.number_of_preambles;i++) {
|
||||
AssertFatal(UL_info->rach_ind_br.rach_indication_body.preamble_list[i].preamble_rel13.rach_resource_type>0,
|
||||
"Got regular PRACH preamble, not BL/CE\n");
|
||||
LOG_D(MAC,"Frame %d, Slot %d Calling initiate_ra_proc (CE_level %d)\n",UL_info->frame,UL_info->slot,
|
||||
@@ -96,10 +96,8 @@ void handle_nr_rach(NR_UL_IND_t *UL_info) {
|
||||
#endif
|
||||
}
|
||||
|
||||
void handle_nr_sr(NR_UL_IND_t *UL_info) {
|
||||
|
||||
int i;
|
||||
|
||||
void handle_nr_sr(NR_UL_IND_t *UL_info)
|
||||
{
|
||||
if (nfapi_mode == 1) // PNF
|
||||
{
|
||||
if (UL_info->sr_ind.sr_indication_body.number_of_srs>0)
|
||||
@@ -109,7 +107,7 @@ void handle_nr_sr(NR_UL_IND_t *UL_info) {
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i=0;i<UL_info->sr_ind.sr_indication_body.number_of_srs;i++)
|
||||
for (int i=0;i<UL_info->sr_ind.sr_indication_body.number_of_srs;i++)
|
||||
SR_indication(UL_info->module_id,
|
||||
UL_info->CC_id,
|
||||
UL_info->frame,
|
||||
@@ -123,8 +121,6 @@ void handle_nr_sr(NR_UL_IND_t *UL_info) {
|
||||
|
||||
void handle_nr_cqi(NR_UL_IND_t *UL_info) {
|
||||
|
||||
int i;
|
||||
|
||||
if (nfapi_mode == 1)
|
||||
{
|
||||
if (UL_info->cqi_ind.number_of_cqis>0)
|
||||
@@ -143,7 +139,7 @@ void handle_nr_cqi(NR_UL_IND_t *UL_info) {
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i=0;i<UL_info->cqi_ind.number_of_cqis;i++)
|
||||
for (int i=0;i<UL_info->cqi_ind.number_of_cqis;i++)
|
||||
cqi_indication(UL_info->module_id,
|
||||
UL_info->CC_id,
|
||||
UL_info->frame,
|
||||
@@ -159,8 +155,6 @@ void handle_nr_cqi(NR_UL_IND_t *UL_info) {
|
||||
|
||||
void handle_nr_harq(NR_UL_IND_t *UL_info) {
|
||||
|
||||
int i;
|
||||
|
||||
if (nfapi_mode == 1 && UL_info->harq_ind.harq_indication_body.number_of_harqs>0) // PNF
|
||||
{
|
||||
//LOG_D(PHY, "UL_info->harq_ind.harq_indication_body.number_of_harqs:%d Send to VNF\n", UL_info->harq_ind.harq_indication_body.number_of_harqs);
|
||||
@@ -176,7 +170,7 @@ void handle_nr_harq(NR_UL_IND_t *UL_info) {
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i=0;i<UL_info->harq_ind.harq_indication_body.number_of_harqs;i++)
|
||||
for (int i=0;i<UL_info->harq_ind.harq_indication_body.number_of_harqs;i++)
|
||||
harq_indication(UL_info->module_id,
|
||||
UL_info->CC_id,
|
||||
NFAPI_SFNSF2SFN(UL_info->harq_ind.sfn_sf),
|
||||
@@ -189,8 +183,6 @@ void handle_nr_harq(NR_UL_IND_t *UL_info) {
|
||||
|
||||
void handle_nr_ulsch(NR_UL_IND_t *UL_info) {
|
||||
|
||||
int i,j;
|
||||
|
||||
if(nfapi_mode == 1)
|
||||
{
|
||||
if (UL_info->crc_ind.crc_indication_body.number_of_crcs>0)
|
||||
@@ -212,8 +204,8 @@ void handle_nr_ulsch(NR_UL_IND_t *UL_info) {
|
||||
else
|
||||
{
|
||||
if (UL_info->rx_ind.rx_indication_body.number_of_pdus>0 && UL_info->crc_ind.crc_indication_body.number_of_crcs>0) {
|
||||
for (i=0;i<UL_info->rx_ind.rx_indication_body.number_of_pdus;i++) {
|
||||
for (j=0;j<UL_info->crc_ind.crc_indication_body.number_of_crcs;j++) {
|
||||
for (int i=0;i<UL_info->rx_ind.rx_indication_body.number_of_pdus;i++) {
|
||||
for (int j=0;j<UL_info->crc_ind.crc_indication_body.number_of_crcs;j++) {
|
||||
// find crc_indication j corresponding rx_indication i
|
||||
LOG_D(PHY,"UL_info->crc_ind.crc_indication_body.crc_pdu_list[%d].rx_ue_information.rnti:%04x UL_info->rx_ind.rx_indication_body.rx_pdu_list[%d].rx_ue_information.rnti:%04x\n", j, UL_info->crc_ind.crc_indication_body.crc_pdu_list[j].rx_ue_information.rnti, i, UL_info->rx_ind.rx_indication_body.rx_pdu_list[i].rx_ue_information.rnti);
|
||||
if (UL_info->crc_ind.crc_indication_body.crc_pdu_list[j].rx_ue_information.rnti ==
|
||||
@@ -262,18 +254,17 @@ void handle_nr_ulsch(NR_UL_IND_t *UL_info) {
|
||||
|
||||
void NR_UL_indication(NR_UL_IND_t *UL_info)
|
||||
{
|
||||
|
||||
AssertFatal(UL_info!=NULL,"UL_INFO is null\n");
|
||||
|
||||
#ifdef DUMP_FAPI
|
||||
dump_ul(UL_info);
|
||||
#endif
|
||||
|
||||
module_id_t module_id = UL_info->module_id;
|
||||
int CC_id = UL_info->CC_id;
|
||||
NR_Sched_Rsp_t *sched_info = &Sched_INFO[module_id][CC_id];
|
||||
NR_IF_Module_t *ifi = if_inst[module_id];
|
||||
gNB_MAC_INST *mac = RC.nrmac[module_id];
|
||||
module_id_t module_id = UL_info->module_id;
|
||||
int CC_id = UL_info->CC_id;
|
||||
NR_Sched_Rsp_t *sched_info = &Sched_INFO[module_id][CC_id];
|
||||
NR_IF_Module_t *ifi = if_inst[module_id];
|
||||
gNB_MAC_INST *mac = RC.nrmac[module_id];
|
||||
|
||||
LOG_D(PHY,"SFN/SF:%d%d module_id:%d CC_id:%d UL_info[rx_ind:%d harqs:%d crcs:%d cqis:%d preambles:%d sr_ind:%d]\n",
|
||||
UL_info->frame,UL_info->slot,
|
||||
@@ -293,7 +284,6 @@ void NR_UL_indication(NR_UL_IND_t *UL_info)
|
||||
ifi->CC_mask |= (1<<CC_id);
|
||||
}
|
||||
|
||||
|
||||
// clear DL/UL info for new scheduling round
|
||||
clear_nr_nfapi_information(mac,CC_id,UL_info->frame,UL_info->slot);
|
||||
|
||||
@@ -330,7 +320,7 @@ void NR_UL_indication(NR_UL_IND_t *UL_info)
|
||||
sched_info->module_id = module_id;
|
||||
sched_info->CC_id = CC_id;
|
||||
sched_info->frame = (UL_info->frame + ((UL_info->slot>(spf-1-sf_ahead)) ? 1 : 0)) % 1024;
|
||||
sched_info->slot = (UL_info->slot+sf_ahead)%spf;
|
||||
sched_info->slot = (UL_info->slot+sf_ahead)%spf;
|
||||
sched_info->DL_req = &mac->DL_req[CC_id];
|
||||
sched_info->HI_DCI0_req = &mac->HI_DCI0_req[CC_id];
|
||||
if ((mac->common_channels[CC_id].tdd_Config==NULL) ||
|
||||
@@ -359,8 +349,8 @@ void NR_UL_indication(NR_UL_IND_t *UL_info)
|
||||
}
|
||||
}
|
||||
|
||||
NR_IF_Module_t *NR_IF_Module_init(int Mod_id){
|
||||
|
||||
NR_IF_Module_t *NR_IF_Module_init(int Mod_id)
|
||||
{
|
||||
AssertFatal(Mod_id<MAX_MODULES,"Asking for Module %d > %d\n",Mod_id,MAX_IF_MODULES);
|
||||
|
||||
LOG_D(PHY,"Installing callbacks for IF_Module - UL_indication\n");
|
||||
|
||||
@@ -2203,28 +2203,7 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv) {
|
||||
buffer,
|
||||
100);
|
||||
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", enc_rval.failed_type->name, enc_rval.encoded);
|
||||
|
||||
#if defined(ENABLE_ITTI)
|
||||
# if !defined(DISABLE_XER_SPRINT)
|
||||
{
|
||||
char message_string[20000];
|
||||
size_t message_string_size;
|
||||
|
||||
if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_UL_CCCH_Message, (void *) &ul_ccch_msg)) > 0) {
|
||||
MessageDef *msg_p;
|
||||
|
||||
msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UL_CCCH, message_string_size + sizeof (IttiMsgText));
|
||||
msg_p->ittiMsg.rrc_ul_ccch.size = message_string_size;
|
||||
memcpy(&msg_p->ittiMsg.rrc_ul_ccch.text, message_string, message_string_size);
|
||||
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, NB_eNB_INST + Mod_id, msg_p);
|
||||
}
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
LOG_D(RRC,"[UE] RRCConnectionRequest Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
|
||||
|
||||
LOG_D(RRC,"[UE] RRCConnectionRequest Encoded %zd bits (%zd bytes)\n", enc_rval.encoded, (enc_rval.encoded+7)/8);
|
||||
return((enc_rval.encoded+7)/8);
|
||||
}
|
||||
|
||||
@@ -4483,15 +4462,15 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname) {
|
||||
InterFreqBandInfo[3][3].interFreqNeedForGaps = 0;
|
||||
UE_EUTRA_Capability->accessStratumRelease = 0;//AccessStratumRelease_rel8;
|
||||
UE_EUTRA_Capability->ue_Category = 4;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0001=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0002=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0003=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0004=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0006=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0101=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0102=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0103=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0104=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0001_r15=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0002_r15=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0003_r15=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0004_r15=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0006_r15=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0101_r15=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0102_r15=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0103_r15=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0104_r15=0;
|
||||
UE_EUTRA_Capability->pdcp_Parameters.maxNumberROHC_ContextSessions = &maxNumberROHC_ContextSessions;
|
||||
UE_EUTRA_Capability->phyLayerParameters.ue_TxAntennaSelectionSupported = 0;
|
||||
UE_EUTRA_Capability->phyLayerParameters.ue_SpecificRefSigsSupported = 0;
|
||||
|
||||
@@ -45,7 +45,7 @@ UE_RRC_INST *UE_rrc_inst = NULL;
|
||||
uint8_t DRB2LCHAN[8];
|
||||
|
||||
long logicalChannelGroup0 = 0;
|
||||
long logicalChannelSR_Mask_r9=0;
|
||||
long logicalChannelSR_Mask_r9=0;
|
||||
|
||||
struct LTE_LogicalChannelConfig__ul_SpecificParameters LCSRB1 = {1,
|
||||
LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity,
|
||||
|
||||
@@ -39,13 +39,14 @@ extern UE_RRC_INST *UE_rrc_inst;
|
||||
|
||||
extern uint8_t DRB2LCHAN[8];
|
||||
|
||||
extern NR_LogicalChannelConfig_t SRB1_logicalChannelConfig_defaultValue;
|
||||
extern LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue;
|
||||
extern NR_LogicalChannelConfig_t NR_SRB1_logicalChannelConfig_defaultValue;
|
||||
extern NR_LogicalChannelConfig_t NR_SRB2_logicalChannelConfig_defaultValue;
|
||||
extern NR_LogicalChannelConfig_t NR_SRB3_logicalChannelConfig_defaultValue;
|
||||
|
||||
|
||||
extern unsigned char NB_INST;
|
||||
extern unsigned char NB_eNB_INST;
|
||||
extern unsigned char NB_UE_INST;
|
||||
extern uint16_t NB_UE_INST;
|
||||
extern unsigned short NODE_ID[1];
|
||||
extern void* bigphys_malloc(int);
|
||||
|
||||
|
||||
@@ -58,10 +58,6 @@
|
||||
|
||||
#include "T.h"
|
||||
|
||||
//#if defined(Rel10) || defined(Rel14)
|
||||
#include "MeasResults.h"
|
||||
//#endif
|
||||
|
||||
#include "RRC/NAS/nas_config.h"
|
||||
#include "RRC/NAS/rb_config.h"
|
||||
#include "OCG.h"
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#include "otg_kpi.h"
|
||||
|
||||
extern unsigned char NB_eNB_INST;
|
||||
extern unsigned char NB_UE_INST;
|
||||
extern uint16_t NB_UE_INST;
|
||||
|
||||
FD_otg *form_dl, *form_ul;
|
||||
FL_FORM *fclock;
|
||||
|
||||
@@ -41,7 +41,7 @@ unsigned int start_log_jitter=0;
|
||||
#include"otg_externs.h"
|
||||
|
||||
extern unsigned char NB_eNB_INST;
|
||||
extern unsigned char NB_UE_INST;
|
||||
extern uint16_t NB_UE_INST;
|
||||
|
||||
void tx_throughput(int src, int dst, int application) {
|
||||
if (otg_info->tx_num_bytes[src][dst][application]>0) {
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
#endif
|
||||
|
||||
extern unsigned char NB_eNB_INST;
|
||||
extern unsigned char NB_UE_INST;
|
||||
extern uint16_t NB_UE_INST;
|
||||
|
||||
//#include "LAYER2/MAC/extern.h"
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#include "otg_externs.h"
|
||||
|
||||
extern unsigned char NB_eNB_INST;
|
||||
extern unsigned char NB_UE_INST;
|
||||
extern uint16_t NB_UE_INST;
|
||||
|
||||
|
||||
// char string for payload gen
|
||||
|
||||
@@ -2307,7 +2307,7 @@ void RCconfig_RU(void) {
|
||||
int i = 0;
|
||||
|
||||
|
||||
paramdef_t RUParams[] = RUPARAMS_DESC;
|
||||
paramdef_t RUParams[] = GNBRUPARAMS_DESC;
|
||||
paramlist_def_t RUParamList = {CONFIG_STRING_RU_LIST,NULL,0};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user