Merge remote-tracking branch 'origin/feature-better-sw-configuration-between-various-version' into develop_integration_2018_w19

Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/print_stats.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/sched_common.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/mac.h
	openair2/LAYER2/PDCP_v10.1.0/pdcp.c
	openair2/LAYER2/PDCP_v10.1.0/pdcp.h
	openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
	openair2/LAYER2/RLC/rlc.c
	openair2/PHY_INTERFACE/defs.h
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_eNB.c
	targets/SIMU/USER/oaisim_functions.c
This commit is contained in:
Cedric Roux
2018-05-15 17:43:12 +02:00
62 changed files with 480 additions and 444 deletions
+42 -24
View File
@@ -113,6 +113,14 @@ macro(add_list_string_option name val helpstr)
add_definitions("-D${name}=\"${value}\"") add_definitions("-D${name}=\"${value}\"")
endif() endif()
endmacro(add_list_string_option) endmacro(add_list_string_option)
function(make_version VERSION_VALUE)
math(EXPR RESULT "0")
foreach (ARG ${ARGN})
math(EXPR RESULT "${RESULT} * 16 + ${ARG}")
endforeach()
set(${VERSION_VALUE} "${RESULT}" PARENT_SCOPE)
endfunction()
#################################################### ####################################################
# compilation flags # compilation flags
############################################# #############################################
@@ -162,7 +170,7 @@ set(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} ${C_FLAGS_PROCESSOR} -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -fPIC ") "${CMAKE_C_FLAGS} ${C_FLAGS_PROCESSOR} -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -fPIC ")
# add autotools definitions that were maybe used! # add autotools definitions that were maybe used!
set(CMAKE_C_FLAGS set(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP" "${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -D'MAKE_VERSION(a,b,c)=((a)*256+(b)*16+c)'"
) )
set(CMAKE_CXX_FLAGS set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} ${C_FLAGS_PROCESSOR} -std=c++11 " "${CMAKE_CXX_FLAGS} ${C_FLAGS_PROCESSOR} -std=c++11 "
@@ -285,16 +293,21 @@ set(protobuf_generated_dir ${OPENAIR_BIN_DIR})
add_list2_option(RRC_ASN1_VERSION "Rel14" "ASN.1 version of RRC interface" "Rel8" "Rel10" "Rel14" "CBA") add_list2_option(RRC_ASN1_VERSION "Rel14" "ASN.1 version of RRC interface" "Rel8" "Rel10" "Rel14" "CBA")
if (${RRC_ASN1_VERSION} STREQUAL "Rel8") if (${RRC_ASN1_VERSION} STREQUAL "Rel8")
make_version(RRC_VERSION 8 6 0)
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn)
elseif (${RRC_ASN1_VERSION} STREQUAL "CBA") elseif (${RRC_ASN1_VERSION} STREQUAL "CBA")
make_version(RRC_VERSION 10 2 0)
add_definitions(-DCBA)
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn)
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel10") elseif (${RRC_ASN1_VERSION} STREQUAL "Rel10")
make_version(RRC_VERSION 10 2 0)
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn)
else() else()
make_version(RRC_VERSION 14 3 0)
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/RRC-e30.asn) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/RRC-e30.asn)
endif (${RRC_ASN1_VERSION} STREQUAL "Rel8") endif (${RRC_ASN1_VERSION} STREQUAL "Rel8")
add_definitions(-DRRC_VERSION=${RRC_VERSION})
set (RRC_FULL_DIR ${asn1_generated_dir}/${RRC_ASN1_VERSION}) set (RRC_FULL_DIR ${asn1_generated_dir}/RRC_${RRC_ASN1_VERSION})
if(NOT EXISTS ${asn1c_call}) if(NOT EXISTS ${asn1c_call})
message( FATAL_ERROR "The script ${asn1c_call} must be present" ) message( FATAL_ERROR "The script ${asn1c_call} must be present" )
endif(NOT EXISTS ${asn1c_call}) endif(NOT EXISTS ${asn1c_call})
@@ -333,18 +346,20 @@ add_custom_command (
# Same limitation as described in RRC: unknown generated file list # Same limitation as described in RRC: unknown generated file list
# so we generate it at cmake time # so we generate it at cmake time
############## ##############
add_list1_option(S1AP_VERSION R10 "S1AP Asn.1 grammar version" R8 R9 R10) add_list1_option(S1AP_RELEASE R10 "S1AP ASN.1 grammar version" R8 R9 R10)
set(S1AP_DIR ${OPENAIR3_DIR}/S1AP) set(S1AP_DIR ${OPENAIR3_DIR}/S1AP)
if (${S1AP_VERSION} STREQUAL "R10") if (${S1AP_RELEASE} STREQUAL "R8")
set (ASN1RELDIR R10.5) make_version(S1AP_VERSION 8 10 0)
add_definitions("-DUPDATE_RELEASE_9 -DUPDATE_RELEASE_10")
elseif (${S1AP_VERSION} STREQUAL "R9")
set (ASN1RELDIR R9.8)
add_definitions("-DUPDATE_RELEASE_9")
else(${S1AP_VERSION} STREQUAL "R8")
set (ASN1RELDIR R8.10) set (ASN1RELDIR R8.10)
endif(${S1AP_VERSION} STREQUAL "R10") elseif (${S1AP_RELEASE} STREQUAL "R9")
make_version(S1AP_VERSION 9 8 0)
set (ASN1RELDIR R9.8)
elseif (${S1AP_RELEASE} STREQUAL "R10")
make_version(S1AP_VERSION 10 5 0)
set (ASN1RELDIR R10.5)
endif(${S1AP_RELEASE} STREQUAL "R8")
add_definitions(-DS1AP_VERSION=${S1AP_VERSION})
set(S1AP_ASN_DIR ${S1AP_DIR}/MESSAGES/ASN1/${ASN1RELDIR}) set(S1AP_ASN_DIR ${S1AP_DIR}/MESSAGES/ASN1/${ASN1RELDIR})
set(S1AP_ASN_FILES set(S1AP_ASN_FILES
${S1AP_ASN_DIR}/S1AP-CommonDataTypes.asn ${S1AP_ASN_DIR}/S1AP-CommonDataTypes.asn
@@ -352,7 +367,7 @@ set(S1AP_ASN_FILES
${S1AP_ASN_DIR}/S1AP-IEs.asn ${S1AP_ASN_DIR}/S1AP-IEs.asn
${S1AP_ASN_DIR}/S1AP-PDU.asn ${S1AP_ASN_DIR}/S1AP-PDU.asn
) )
set(S1AP_C_DIR ${asn1_generated_dir}/${ASN1RELDIR}) set(S1AP_C_DIR ${asn1_generated_dir}/S1AP_${ASN1RELDIR})
#message("calling ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}") #message("calling ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}")
execute_process(COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES} execute_process(COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}
RESULT_VARIABLE ret) RESULT_VARIABLE ret)
@@ -364,7 +379,7 @@ execute_process(COMMAND python ${S1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f${S1A
if (NOT ${ret} STREQUAL 0) if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "asn1tostruct.py: error") message(FATAL_ERROR "asn1tostruct.py: error")
endif (NOT ${ret} STREQUAL 0) endif (NOT ${ret} STREQUAL 0)
execute_process(COMMAND ${fix_asn1c_call} ${S1AP_C_DIR} S1AP ${S1AP_VERSION} execute_process(COMMAND ${fix_asn1c_call} ${S1AP_C_DIR} S1AP ${S1AP_RELEASE}
RESULT_VARIABLE ret) RESULT_VARIABLE ret)
if (NOT ${ret} STREQUAL 0) if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "${fix_asn1c_call}: error") message(FATAL_ERROR "${fix_asn1c_call}: error")
@@ -385,7 +400,7 @@ add_custom_command (
OUTPUT ${S1AP_OAI_generated} OUTPUT ${S1AP_OAI_generated}
COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES} COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}
COMMAND python ${S1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f${S1AP_ASN_DIR}/S1AP-PDU-Contents.asn -o${S1AP_C_DIR} COMMAND python ${S1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f${S1AP_ASN_DIR}/S1AP-PDU-Contents.asn -o${S1AP_C_DIR}
COMMAND ${fix_asn1c_call} ${S1AP_C_DIR} S1AP ${S1AP_VERSION} COMMAND ${fix_asn1c_call} ${S1AP_C_DIR} S1AP ${S1AP_RELEASE}
DEPENDS ${S1AP_ASN_FILES} DEPENDS ${S1AP_ASN_FILES}
) )
add_library(S1AP_LIB add_library(S1AP_LIB
@@ -419,13 +434,16 @@ add_library(S1AP_ENB
# Same limitation as described in RRC/S1AP: unknown generated file list # Same limitation as described in RRC/S1AP: unknown generated file list
# so we generate it at cmake time # so we generate it at cmake time
############## ##############
add_list1_option(X2AP_VERSION R11 "X2AP Asn.1 grammar version" R10 R11) add_list1_option(X2AP_RELEASE R11 "X2AP ASN.1 grammar version" R10 R11)
set(X2AP_DIR ${OPENAIR2_DIR}/X2AP) set(X2AP_DIR ${OPENAIR2_DIR}/X2AP)
if (${X2AP_VERSION} STREQUAL "R11") if (${X2AP_RELEASE} STREQUAL "R10")
set (ASN1RELDIR R11.2) make_version(S1AP_VERSION 10 0 0)
elseif (${X2AP_VERSION} STREQUAL "R10")
set (ASN1RELDIR R.UNKNOWN) set (ASN1RELDIR R.UNKNOWN)
endif(${X2AP_VERSION} STREQUAL "R11") elseif (${X2AP_RELEASE} STREQUAL "R11")
make_version(S1AP_VERSION 11 2 0)
set (ASN1RELDIR R11.2)
endif(${X2AP_RELEASE} STREQUAL "R10")
add_definitions(-DX2AP_VERSION=${X2AP_VERSION})
set(X2AP_ASN_DIR ${X2AP_DIR}/MESSAGES/ASN1/${ASN1RELDIR}) set(X2AP_ASN_DIR ${X2AP_DIR}/MESSAGES/ASN1/${ASN1RELDIR})
set(X2AP_ASN_FILES set(X2AP_ASN_FILES
${X2AP_ASN_DIR}/X2AP-CommonDataTypes.asn ${X2AP_ASN_DIR}/X2AP-CommonDataTypes.asn
@@ -435,7 +453,7 @@ set(X2AP_ASN_FILES
${X2AP_ASN_DIR}/X2AP-Containers.asn ${X2AP_ASN_DIR}/X2AP-Containers.asn
) )
set(X2AP_C_DIR ${asn1_generated_dir}/${ASN1RELDIR}) set(X2AP_C_DIR ${asn1_generated_dir}/X2AP_${ASN1RELDIR})
#message("calling ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}") #message("calling ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}")
execute_process(COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES} execute_process(COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}
RESULT_VARIABLE ret) RESULT_VARIABLE ret)
@@ -447,7 +465,7 @@ execute_process(COMMAND python ${X2AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${X2
if (NOT ${ret} STREQUAL 0) if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "asn1tostruct.py: error") message(FATAL_ERROR "asn1tostruct.py: error")
endif (NOT ${ret} STREQUAL 0) endif (NOT ${ret} STREQUAL 0)
execute_process(COMMAND ${fix_asn1c_call} ${X2AP_C_DIR} X2AP ${X2AP_VERSION} execute_process(COMMAND ${fix_asn1c_call} ${X2AP_C_DIR} X2AP ${X2AP_RELEASE}
RESULT_VARIABLE ret) RESULT_VARIABLE ret)
if (NOT ${ret} STREQUAL 0) if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "${fix_asn1c_call}: error") message(FATAL_ERROR "${fix_asn1c_call}: error")
@@ -468,7 +486,7 @@ add_custom_command (
OUTPUT ${X2AP_OAI_generated} OUTPUT ${X2AP_OAI_generated}
COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES} COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}
COMMAND python ${X2AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${X2AP_ASN_DIR}/X2AP-PDU-Contents.asn -o ${X2AP_C_DIR} COMMAND python ${X2AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${X2AP_ASN_DIR}/X2AP-PDU-Contents.asn -o ${X2AP_C_DIR}
COMMAND ${fix_asn1c_call} ${X2AP_C_DIR} X2AP ${X2AP_VERSION} COMMAND ${fix_asn1c_call} ${X2AP_C_DIR} X2AP ${X2AP_RELEASE}
DEPENDS ${X2AP_ASN_FILES} DEPENDS ${X2AP_ASN_FILES}
) )
@@ -2281,7 +2299,7 @@ endforeach()
# castxml doesn't work with c11 (gcc 5 default) # castxml doesn't work with c11 (gcc 5 default)
# force castxml and clang compilation with gnu89 standard # force castxml and clang compilation with gnu89 standard
# we can't use cXX standard as pthread_rwlock_t is gnu standard # we can't use cXX standard as pthread_rwlock_t is gnu standard
list(APPEND itti_compiler_options "-std=gnu89") list(APPEND itti_compiler_options "-std=gnu89;-D'MAKE_VERSION(a,b,c)=((a)*256+(b)*16+c)'")
set (ITTI_H ${ITTI_DIR}/intertask_interface_types.h) set (ITTI_H ${ITTI_DIR}/intertask_interface_types.h)
if(EXISTS /usr/bin/gccxml) if(EXISTS /usr/bin/gccxml)
set(xml_command gccxml ${itti_compiler_options} -fxml=${OPENAIR_BIN_DIR}/messages.xml ${ITTI_H}) set(xml_command gccxml ${itti_compiler_options} -fxml=${OPENAIR_BIN_DIR}/messages.xml ${ITTI_H})
+1 -1
View File
@@ -33,7 +33,7 @@
//#include "TDD-Config.h" //#include "TDD-Config.h"
//#include "MBSFN-SubframeConfigList.h" //#include "MBSFN-SubframeConfigList.h"
//#include "MobilityControlInfo.h" //#include "MobilityControlInfo.h"
//#if defined(Rel10) || defined(Rel14) //#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
//#include "SCellToAddMod-r10.h" //#include "SCellToAddMod-r10.h"
//#endif //#endif
+5 -5
View File
@@ -182,7 +182,7 @@ void phy_config_request(PHY_Config_t *phy_config) {
fp->frame_type, fp->frame_type,
RC.eNB[Mod_id][CC_id]->X_u); RC.eNB[Mod_id][CC_id]->X_u);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
fp->prach_emtc_config_common.prach_Config_enabled=1; fp->prach_emtc_config_common.prach_Config_enabled=1;
fp->prach_emtc_config_common.rootSequenceIndex = cfg->emtc_config.prach_catm_root_sequence_index.value; fp->prach_emtc_config_common.rootSequenceIndex = cfg->emtc_config.prach_catm_root_sequence_index.value;
@@ -735,7 +735,7 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
LTE_eNB_PUSCH** const pusch_vars = eNB->pusch_vars; LTE_eNB_PUSCH** const pusch_vars = eNB->pusch_vars;
LTE_eNB_SRS* const srs_vars = eNB->srs_vars; LTE_eNB_SRS* const srs_vars = eNB->srs_vars;
LTE_eNB_PRACH* const prach_vars = &eNB->prach_vars; LTE_eNB_PRACH* const prach_vars = &eNB->prach_vars;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
LTE_eNB_PRACH* const prach_vars_br = &eNB->prach_vars_br; LTE_eNB_PRACH* const prach_vars_br = &eNB->prach_vars_br;
#endif #endif
int i, UE_id; int i, UE_id;
@@ -831,7 +831,7 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
prach_vars->rxsigF[0] = (int16_t**)malloc16_clear(64*sizeof(int16_t*)); prach_vars->rxsigF[0] = (int16_t**)malloc16_clear(64*sizeof(int16_t*));
// PRACH BR // PRACH BR
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
prach_vars_br->prachF = (int16_t*)malloc16_clear( 1024*2*sizeof(int32_t) ); prach_vars_br->prachF = (int16_t*)malloc16_clear( 1024*2*sizeof(int32_t) );
// assume maximum of 64 RX antennas for PRACH receiver // assume maximum of 64 RX antennas for PRACH receiver
@@ -899,7 +899,7 @@ void phy_free_lte_eNB(PHY_VARS_eNB *eNB)
LTE_eNB_PUSCH** const pusch_vars = eNB->pusch_vars; LTE_eNB_PUSCH** const pusch_vars = eNB->pusch_vars;
LTE_eNB_SRS* const srs_vars = eNB->srs_vars; LTE_eNB_SRS* const srs_vars = eNB->srs_vars;
LTE_eNB_PRACH* const prach_vars = &eNB->prach_vars; LTE_eNB_PRACH* const prach_vars = &eNB->prach_vars;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
LTE_eNB_PRACH* const prach_vars_br = &eNB->prach_vars_br; LTE_eNB_PRACH* const prach_vars_br = &eNB->prach_vars_br;
#endif #endif
int i, UE_id; int i, UE_id;
@@ -932,7 +932,7 @@ void phy_free_lte_eNB(PHY_VARS_eNB *eNB)
for (i = 0; i < 64; i++) free_and_zero(prach_vars->prach_ifft[0][i]); for (i = 0; i < 64; i++) free_and_zero(prach_vars->prach_ifft[0][i]);
free_and_zero(prach_vars->prach_ifft[0]); free_and_zero(prach_vars->prach_ifft[0]);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
for (int ce_level = 0; ce_level < 4; ce_level++) { for (int ce_level = 0; ce_level < 4; ce_level++) {
for (i = 0; i < 64; i++) free_and_zero(prach_vars_br->prach_ifft[ce_level][i]); for (i = 0; i < 64; i++) free_and_zero(prach_vars_br->prach_ifft[ce_level][i]);
free_and_zero(prach_vars_br->prach_ifft[ce_level]); free_and_zero(prach_vars_br->prach_ifft[ce_level]);
+2 -2
View File
@@ -98,7 +98,7 @@ int phy_init_RU(RU_t *ru) {
for (i=0; i<ru->nb_rx; i++) { for (i=0; i<ru->nb_rx; i++) {
ru->prach_rxsigF[i] = (int16_t*)malloc16_clear( fp->ofdm_symbol_size*12*2*sizeof(int16_t) ); ru->prach_rxsigF[i] = (int16_t*)malloc16_clear( fp->ofdm_symbol_size*12*2*sizeof(int16_t) );
LOG_D(PHY,"[INIT] prach_vars->rxsigF[%d] = %p\n",i,ru->prach_rxsigF[i]); LOG_D(PHY,"[INIT] prach_vars->rxsigF[%d] = %p\n",i,ru->prach_rxsigF[i]);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
for (j=0;j<4;j++) { for (j=0;j<4;j++) {
ru->prach_rxsigF_br[j][i] = (int16_t*)malloc16_clear( fp->ofdm_symbol_size*12*2*sizeof(int16_t) ); ru->prach_rxsigF_br[j][i] = (int16_t*)malloc16_clear( fp->ofdm_symbol_size*12*2*sizeof(int16_t) );
LOG_D(PHY,"[INIT] prach_vars_br->rxsigF[%d] = %p\n",i,ru->prach_rxsigF_br[j][i]); LOG_D(PHY,"[INIT] prach_vars_br->rxsigF[%d] = %p\n",i,ru->prach_rxsigF_br[j][i]);
@@ -176,7 +176,7 @@ void phy_free_RU(RU_t *ru)
for (i = 0; i < ru->nb_rx; i++) { for (i = 0; i < ru->nb_rx; i++) {
free_and_zero(ru->prach_rxsigF[i]); free_and_zero(ru->prach_rxsigF[i]);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
for (j = 0; j < 4; j++) free_and_zero(ru->prach_rxsigF_br[j][i]); for (j = 0; j < 4; j++) free_and_zero(ru->prach_rxsigF_br[j][i]);
#endif #endif
} }
+1 -1
View File
@@ -342,7 +342,7 @@ void phy_config_meas_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index,uint8_t n
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
void phy_config_dedicated_scell_ue(uint8_t Mod_id, void phy_config_dedicated_scell_ue(uint8_t Mod_id,
uint8_t eNB_index, uint8_t eNB_index,
SCellToAddMod_r10_t *sCellToAddMod_r10, SCellToAddMod_r10_t *sCellToAddMod_r10,
+2 -2
View File
@@ -32,7 +32,7 @@
#include "PHICH-Config.h" #include "PHICH-Config.h"
#include "MBSFN-SubframeConfigList.h" #include "MBSFN-SubframeConfigList.h"
#include "MobilityControlInfo.h" #include "MobilityControlInfo.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#include "SCellToAddMod-r10.h" #include "SCellToAddMod-r10.h"
#endif #endif
/** @addtogroup _PHY_STRUCTURES_ /** @addtogroup _PHY_STRUCTURES_
@@ -349,7 +349,7 @@ void lte_param_init(PHY_VARS_eNB **eNBp,
uint32_t perfect_ce); uint32_t perfect_ce);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
void phy_config_dedicated_scell_ue(uint8_t Mod_id, void phy_config_dedicated_scell_ue(uint8_t Mod_id,
uint8_t eNB_index, uint8_t eNB_index,
SCellToAddMod_r10_t *sCellToAddMod_r10, SCellToAddMod_r10_t *sCellToAddMod_r10,
+1 -1
View File
@@ -119,7 +119,7 @@ uint8_t *generate_dci0(uint8_t *dci,
(aggregation_level==2) || (aggregation_level==2) ||
(aggregation_level==4) || (aggregation_level==4) ||
(aggregation_level==8) (aggregation_level==8)
#ifdef Rel14 // Added for EPDCCH/MPDCCH #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) // Added for EPDCCH/MPDCCH
|| ||
(aggregation_level==16) || (aggregation_level==16) ||
(aggregation_level==24) || (aggregation_level==24) ||
@@ -87,7 +87,7 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms,
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_ENB_DLSCH_SCRAMBLING, VCD_FUNCTION_IN); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_ENB_DLSCH_SCRAMBLING, VCD_FUNCTION_IN);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
// Rule for accumulation of subframes for BL/CE UEs // Rule for accumulation of subframes for BL/CE UEs
uint8_t Nacc=4; uint8_t Nacc=4;
uint16_t j0,j,idelta; uint16_t j0,j,idelta;
@@ -110,7 +110,7 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms,
// reset = 1; // reset = 1;
// x1 is set in lte_gold_generic // x1 is set in lte_gold_generic
if (mbsfn_flag == 0) { if (mbsfn_flag == 0) {
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (dlsch->i0 != 0xFFFF) { if (dlsch->i0 != 0xFFFF) {
// rule for BL/CE UEs from Section 6.3.1 in 36.211 // rule for BL/CE UEs from Section 6.3.1 in 36.211
x2= (dlsch->rnti<<14) + (q<<13) + ((((j0+j)*Nacc)%10)<<9) + frame_parms->Nid_cell; x2= (dlsch->rnti<<14) + (q<<13) + ((((j0+j)*Nacc)%10)<<9) + frame_parms->Nid_cell;
@@ -124,7 +124,7 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms,
} }
#ifdef DEBUG_SCRAMBLING #ifdef DEBUG_SCRAMBLING
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
printf("scrambling: i0 %d rnti %x, q %d, Ns %d, Nid_cell %d, G %d x2 %x\n",dlsch->i0,dlsch->rnti,q,Ns,frame_parms->Nid_cell, G, x2); printf("scrambling: i0 %d rnti %x, q %d, Ns %d, Nid_cell %d, G %d x2 %x\n",dlsch->i0,dlsch->rnti,q,Ns,frame_parms->Nid_cell, G, x2);
#else #else
printf("scrambling: rnti %x, q %d, Ns %d, Nid_cell %d, G %d x2 %x\n",dlsch->rnti,q,Ns,frame_parms->Nid_cell, G, x2); printf("scrambling: rnti %x, q %d, Ns %d, Nid_cell %d, G %d x2 %x\n",dlsch->rnti,q,Ns,frame_parms->Nid_cell, G, x2);
+1 -1
View File
@@ -48,7 +48,7 @@
//#define DEBUG_DCI_DECODING 1 //#define DEBUG_DCI_DECODING 1
//#define DEBUG_PHY //#define DEBUG_PHY
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void generate_edci_top(PHY_VARS_eNB *eNB, int frame, int subframe) { void generate_edci_top(PHY_VARS_eNB *eNB, int frame, int subframe) {
} }
+4 -4
View File
@@ -47,7 +47,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) {
int32_t **txdataF = ru->common.txdataF_BF; int32_t **txdataF = ru->common.txdataF_BF;
int32_t **rxdataF = ru->common.rxdataF; int32_t **rxdataF = ru->common.rxdataF;
int16_t **prach_rxsigF = ru->prach_rxsigF; int16_t **prach_rxsigF = ru->prach_rxsigF;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int16_t ***prach_rxsigF_br = ru->prach_rxsigF_br; int16_t ***prach_rxsigF_br = ru->prach_rxsigF_br;
#endif #endif
void *tx_buffer = ru->ifbuffer.tx[subframe&1]; void *tx_buffer = ru->ifbuffer.tx[subframe&1];
@@ -221,7 +221,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) {
int16_t *rxF; int16_t *rxF;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (packet_type > IF4p5_PRACH) if (packet_type > IF4p5_PRACH)
rxF = &prach_rxsigF_br[packet_type - IF4p5_PRACH - 1][0][0]; rxF = &prach_rxsigF_br[packet_type - IF4p5_PRACH - 1][0][0];
else else
@@ -262,7 +262,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
int32_t **txdataF = ru->common.txdataF_BF; int32_t **txdataF = ru->common.txdataF_BF;
int32_t **rxdataF = ru->common.rxdataF; int32_t **rxdataF = ru->common.rxdataF;
int16_t **prach_rxsigF = ru->prach_rxsigF; int16_t **prach_rxsigF = ru->prach_rxsigF;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int16_t ***prach_rxsigF_br = ru->prach_rxsigF_br; int16_t ***prach_rxsigF_br = ru->prach_rxsigF_br;
#endif #endif
void *rx_buffer = ru->ifbuffer.rx; void *rx_buffer = ru->ifbuffer.rx;
@@ -359,7 +359,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
int16_t *rxF; int16_t *rxF;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (*packet_type > IF4p5_PRACH) if (*packet_type > IF4p5_PRACH)
rxF = &prach_rxsigF_br[*packet_type - IF4p5_PRACH - 1][0][0]; rxF = &prach_rxsigF_br[*packet_type - IF4p5_PRACH - 1][0][0];
else else
+11 -13
View File
@@ -43,7 +43,7 @@
#ifndef Rel14 #if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
#define rx_prach0 rx_prach #define rx_prach0 rx_prach
#endif #endif
@@ -54,7 +54,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
uint16_t *max_preamble_delay, uint16_t *max_preamble_delay,
uint16_t Nf, uint16_t Nf,
uint8_t tdd_mapindex uint8_t tdd_mapindex
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,uint8_t br_flag, ,uint8_t br_flag,
uint8_t ce_level uint8_t ce_level
#endif #endif
@@ -104,7 +104,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
int16_t prach_ifft_tmp[2048*2] __attribute__((aligned(32))); int16_t prach_ifft_tmp[2048*2] __attribute__((aligned(32)));
int32_t *prach_ifft=(int32_t*)NULL; int32_t *prach_ifft=(int32_t*)NULL;
int32_t **prach_ifftp=(int32_t **)NULL; int32_t **prach_ifftp=(int32_t **)NULL;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int prach_ifft_cnt=0; int prach_ifft_cnt=0;
#endif #endif
#ifdef PRACH_DEBUG #ifdef PRACH_DEBUG
@@ -123,7 +123,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
frame_type = fp->frame_type; frame_type = fp->frame_type;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (br_flag == 1) { if (br_flag == 1) {
AssertFatal(fp->prach_emtc_config_common.prach_Config_enabled==1, AssertFatal(fp->prach_emtc_config_common.prach_Config_enabled==1,
"emtc prach_Config is not enabled\n"); "emtc prach_Config is not enabled\n");
@@ -158,7 +158,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
uint16_t N_ZC = (prach_fmt <4)?839:139; uint16_t N_ZC = (prach_fmt <4)?839:139;
if (eNB) { if (eNB) {
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (br_flag == 1) { if (br_flag == 1) {
prach_ifftp = eNB->prach_vars_br.prach_ifft[ce_level]; prach_ifftp = eNB->prach_vars_br.prach_ifft[ce_level];
#ifdef PRACH_DEBUG #ifdef PRACH_DEBUG
@@ -192,7 +192,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
} }
} }
else { else {
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (br_flag == 1) { if (br_flag == 1) {
#ifdef PRACH_DEBUG #ifdef PRACH_DEBUG
frame = ru->proc.frame_prach_br; frame = ru->proc.frame_prach_br;
@@ -455,7 +455,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
if ((eNB==NULL) && (ru!=NULL) && ru->function == NGFI_RRU_IF4p5) { if ((eNB==NULL) && (ru!=NULL) && ru->function == NGFI_RRU_IF4p5) {
/// **** send_IF4 of rxsigF to RAU **** /// /// **** send_IF4 of rxsigF to RAU **** ///
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (br_flag == 1) send_IF4p5(ru, ru->proc.frame_prach, ru->proc.subframe_prach, IF4p5_PRACH+1+ce_level); if (br_flag == 1) send_IF4p5(ru, ru->proc.frame_prach, ru->proc.subframe_prach, IF4p5_PRACH+1+ce_level);
else else
@@ -598,7 +598,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
if (new_dft == 1) { if (new_dft == 1) {
new_dft = 0; new_dft = 0;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (br_flag == 1) { if (br_flag == 1) {
Xu=(int16_t*)eNB->X_u_br[ce_level][preamble_offset-first_nonzero_root_idx]; Xu=(int16_t*)eNB->X_u_br[ce_level][preamble_offset-first_nonzero_root_idx];
prach_ifft = prach_ifftp[prach_ifft_cnt++]; prach_ifft = prach_ifftp[prach_ifft_cnt++];
@@ -655,7 +655,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
} // new dft } // new dft
// check energy in nth time shift, for // check energy in nth time shift, for
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if ((br_flag==0) || if ((br_flag==0) ||
(eNB->prach_vars_br.repetition_number[ce_level]== (eNB->prach_vars_br.repetition_number[ce_level]==
eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level])) eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level]))
@@ -720,7 +720,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void rx_prach(PHY_VARS_eNB *eNB, void rx_prach(PHY_VARS_eNB *eNB,
RU_t *ru, RU_t *ru,
@@ -762,6 +762,4 @@ void rx_prach(PHY_VARS_eNB *eNB,
} }
} }
#endif /* Rel14 */ #endif /* #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */
+2 -2
View File
@@ -169,7 +169,7 @@ typedef struct {
int16_t sqrt_rho_a; int16_t sqrt_rho_a;
/// amplitude of PDSCH (compared to RS) in symbols containing pilots /// amplitude of PDSCH (compared to RS) in symbols containing pilots
int16_t sqrt_rho_b; int16_t sqrt_rho_b;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling /// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling
uint8_t sib1_br_flag; uint8_t sib1_br_flag;
/// initial absolute subframe (see 36.211 Section 6.3.1), needed for c_init for scrambling /// initial absolute subframe (see 36.211 Section 6.3.1), needed for c_init for scrambling
@@ -333,7 +333,7 @@ typedef struct {
uint8_t tdd_bundling; uint8_t tdd_bundling;
/// Received Energy /// Received Energy
uint32_t stat; uint32_t stat;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// non BL/CE, CEmodeA, CEmodeB /// non BL/CE, CEmodeA, CEmodeB
UE_type_t ue_type; UE_type_t ue_type;
/// Indicates the symbols that are left empty due to eMTC retuning. /// Indicates the symbols that are left empty due to eMTC retuning.
+1 -1
View File
@@ -425,7 +425,7 @@ typedef struct eNB_proc_NB_IoT_t_s {
int RU_mask; int RU_mask;
/// mask for RUs serving nbiot (PRACH) /// mask for RUs serving nbiot (PRACH)
int RU_mask_prach; int RU_mask_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// mask for RUs serving eNB (PRACH) /// mask for RUs serving eNB (PRACH)
int RU_mask_prach_br; int RU_mask_prach_br;
#endif #endif
+11 -11
View File
@@ -85,7 +85,7 @@ typedef struct RU_proc_t_s {
int subframe_tx; int subframe_tx;
/// subframe to act upon for reception of prach /// subframe to act upon for reception of prach
int subframe_prach; int subframe_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// subframe to act upon for reception of prach BL/CE UEs /// subframe to act upon for reception of prach BL/CE UEs
int subframe_prach_br; int subframe_prach_br;
#endif #endif
@@ -97,7 +97,7 @@ typedef struct RU_proc_t_s {
int frame_tx_unwrap; int frame_tx_unwrap;
/// frame to act upon for reception of prach /// frame to act upon for reception of prach
int frame_prach; int frame_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// frame to act upon for reception of prach /// frame to act upon for reception of prach
int frame_prach_br; int frame_prach_br;
#endif #endif
@@ -109,7 +109,7 @@ typedef struct RU_proc_t_s {
int instance_cnt_FH1; int instance_cnt_FH1;
/// \internal This variable is protected by \ref mutex_prach. /// \internal This variable is protected by \ref mutex_prach.
int instance_cnt_prach; int instance_cnt_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// \internal This variable is protected by \ref mutex_prach. /// \internal This variable is protected by \ref mutex_prach.
int instance_cnt_prach_br; int instance_cnt_prach_br;
#endif #endif
@@ -131,7 +131,7 @@ typedef struct RU_proc_t_s {
pthread_t pthread_FH1; pthread_t pthread_FH1;
/// pthread structure for RU prach processing thread /// pthread structure for RU prach processing thread
pthread_t pthread_prach; pthread_t pthread_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// pthread structure for RU prach processing thread BL/CE UEs /// pthread structure for RU prach processing thread BL/CE UEs
pthread_t pthread_prach_br; pthread_t pthread_prach_br;
#endif #endif
@@ -154,7 +154,7 @@ typedef struct RU_proc_t_s {
pthread_attr_t attr_FH1; pthread_attr_t attr_FH1;
/// pthread attributes for RU prach /// pthread attributes for RU prach
pthread_attr_t attr_prach; pthread_attr_t attr_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// pthread attributes for RU prach BL/CE UEs /// pthread attributes for RU prach BL/CE UEs
pthread_attr_t attr_prach_br; pthread_attr_t attr_prach_br;
#endif #endif
@@ -173,7 +173,7 @@ typedef struct RU_proc_t_s {
struct sched_param sched_param_FH1; struct sched_param sched_param_FH1;
/// scheduling parameters for RU prach thread /// scheduling parameters for RU prach thread
struct sched_param sched_param_prach; struct sched_param sched_param_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// scheduling parameters for RU prach thread BL/CE UEs /// scheduling parameters for RU prach thread BL/CE UEs
struct sched_param sched_param_prach_br; struct sched_param sched_param_prach_br;
#endif #endif
@@ -186,7 +186,7 @@ typedef struct RU_proc_t_s {
pthread_cond_t cond_FH1; pthread_cond_t cond_FH1;
/// condition variable for RU prach thread /// condition variable for RU prach thread
pthread_cond_t cond_prach; pthread_cond_t cond_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// condition variable for RU prach thread BL/CE UEs /// condition variable for RU prach thread BL/CE UEs
pthread_cond_t cond_prach_br; pthread_cond_t cond_prach_br;
#endif #endif
@@ -207,7 +207,7 @@ typedef struct RU_proc_t_s {
pthread_mutex_t mutex_FH1; pthread_mutex_t mutex_FH1;
/// mutex for RU prach /// mutex for RU prach
pthread_mutex_t mutex_prach; pthread_mutex_t mutex_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// mutex for RU prach BL/CE UEs /// mutex for RU prach BL/CE UEs
pthread_mutex_t mutex_prach_br; pthread_mutex_t mutex_prach_br;
#endif #endif
@@ -899,14 +899,14 @@ typedef struct PHY_VARS_eNB_s {
nfapi_cqi_indication_raw_pdu_t cqi_raw_pdu_list[NFAPI_CQI_IND_MAX_PDU]; nfapi_cqi_indication_raw_pdu_t cqi_raw_pdu_list[NFAPI_CQI_IND_MAX_PDU];
/// NFAPI PRACH information /// NFAPI PRACH information
nfapi_preamble_pdu_t preamble_list[MAX_NUM_RX_PRACH_PREAMBLES]; nfapi_preamble_pdu_t preamble_list[MAX_NUM_RX_PRACH_PREAMBLES];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// NFAPI PRACH information BL/CE UEs /// NFAPI PRACH information BL/CE UEs
nfapi_preamble_pdu_t preamble_list_br[MAX_NUM_RX_PRACH_PREAMBLES]; nfapi_preamble_pdu_t preamble_list_br[MAX_NUM_RX_PRACH_PREAMBLES];
#endif #endif
Sched_Rsp_t Sched_INFO; Sched_Rsp_t Sched_INFO;
LTE_eNB_PDCCH pdcch_vars[2]; LTE_eNB_PDCCH pdcch_vars[2];
LTE_eNB_PHICH phich_vars[2]; LTE_eNB_PHICH phich_vars[2];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
LTE_eNB_EPDCCH epdcch_vars[2]; LTE_eNB_EPDCCH epdcch_vars[2];
LTE_eNB_MPDCCH mpdcch_vars[2]; LTE_eNB_MPDCCH mpdcch_vars[2];
LTE_eNB_PRACH prach_vars_br; LTE_eNB_PRACH prach_vars_br;
@@ -938,7 +938,7 @@ typedef struct PHY_VARS_eNB_s {
uint32_t lte_gold_mbsfn_table[10][3][42]; uint32_t lte_gold_mbsfn_table[10][3][42];
uint32_t X_u[64][839]; uint32_t X_u[64][839];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint32_t X_u_br[4][64][839]; uint32_t X_u_br[4][64][839];
#endif #endif
uint8_t pbch_configured; uint8_t pbch_configured;
+8 -10
View File
@@ -63,7 +63,7 @@ void handle_nfapi_dci_dl_pdu(PHY_VARS_eNB *eNB,
LOG_D(PHY,"Frame %d, Subframe %d: DCI processing - populated pdcch_vars->dci_alloc[%d] proc:subframe_tx:%d idx:%d pdcch_vars->num_dci:%d\n",proc->frame_tx,proc->subframe_tx, pdcch_vars->num_dci, proc->subframe_tx, idx, pdcch_vars->num_dci); LOG_D(PHY,"Frame %d, Subframe %d: DCI processing - populated pdcch_vars->dci_alloc[%d] proc:subframe_tx:%d idx:%d pdcch_vars->num_dci:%d\n",proc->frame_tx,proc->subframe_tx, pdcch_vars->num_dci, proc->subframe_tx, idx, pdcch_vars->num_dci);
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB, void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_t *proc,
@@ -128,7 +128,7 @@ void handle_nfapi_bch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
// adjust transmit amplitude here based on NFAPI info // adjust transmit amplitude here based on NFAPI info
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
extern uint32_t localRIV2alloc_LUT6[32]; extern uint32_t localRIV2alloc_LUT6[32];
extern uint32_t localRIV2alloc_LUT25[512]; extern uint32_t localRIV2alloc_LUT25[512];
extern uint32_t localRIV2alloc_LUT50_0[1600]; extern uint32_t localRIV2alloc_LUT50_0[1600];
@@ -145,10 +145,10 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
uint8_t *sdu) uint8_t *sdu)
{ {
nfapi_dl_config_dlsch_pdu_rel8_t *rel8 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8; nfapi_dl_config_dlsch_pdu_rel8_t *rel8 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8;
#ifndef Rel8 #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
nfapi_dl_config_dlsch_pdu_rel10_t *rel10 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10; nfapi_dl_config_dlsch_pdu_rel10_t *rel10 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10;
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
nfapi_dl_config_dlsch_pdu_rel13_t *rel13 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13; nfapi_dl_config_dlsch_pdu_rel13_t *rel13 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13;
#endif #endif
LTE_eNB_DLSCH_t *dlsch0=NULL,*dlsch1=NULL; LTE_eNB_DLSCH_t *dlsch0=NULL,*dlsch1=NULL;
@@ -163,7 +163,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
dlsch0 = eNB->dlsch[UE_id][0]; dlsch0 = eNB->dlsch[UE_id][0];
dlsch1 = eNB->dlsch[UE_id][1]; dlsch1 = eNB->dlsch[UE_id][1];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
if ((rel13->pdsch_payload_type < 2) && (rel13->ue_type>0)) dlsch0->harq_ids[subframe] = 0; if ((rel13->pdsch_payload_type < 2) && (rel13->ue_type>0)) dlsch0->harq_ids[subframe] = 0;
#endif #endif
@@ -217,7 +217,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
rel8->rnti,UE_id,harq_pid); rel8->rnti,UE_id,harq_pid);
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
dlsch0->sib1_br_flag=0; dlsch0->sib1_br_flag=0;
if ((rel13->pdsch_payload_type <2) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR/SI-BR if ((rel13->pdsch_payload_type <2) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR/SI-BR
@@ -271,7 +271,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
dlsch0->i0 = rel13->initial_transmission_sf_io; dlsch0->i0 = rel13->initial_transmission_sf_io;
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
LOG_D(PHY,"dlsch->i0:%04x dlsch0_harq[pdsch_start:%d nb_rb:%d vrb_type:%d rvidx:%d Nl:%d mimo_mode:%d dl_power_off:%d round:%d status:%d TBS:%d Qm:%d codeword:%d rb_alloc:%d] rel8[length:%d]\n", LOG_D(PHY,"dlsch->i0:%04x dlsch0_harq[pdsch_start:%d nb_rb:%d vrb_type:%d rvidx:%d Nl:%d mimo_mode:%d dl_power_off:%d round:%d status:%d TBS:%d Qm:%d codeword:%d rb_alloc:%d] rel8[length:%d]\n",
dlsch0->i0, dlsch0->i0,
dlsch0_harq->pdsch_start, dlsch0_harq->nb_rb, dlsch0_harq->vrb_type, dlsch0_harq->rvidx, dlsch0_harq->Nl, dlsch0_harq->mimo_mode, dlsch0_harq->dl_power_off, dlsch0_harq->round, dlsch0_harq->status, dlsch0_harq->TBS, dlsch0_harq->Qm, dlsch0_harq->codeword, dlsch0_harq->rb_alloc[0], dlsch0_harq->pdsch_start, dlsch0_harq->nb_rb, dlsch0_harq->vrb_type, dlsch0_harq->rvidx, dlsch0_harq->Nl, dlsch0_harq->mimo_mode, dlsch0_harq->dl_power_off, dlsch0_harq->round, dlsch0_harq->status, dlsch0_harq->TBS, dlsch0_harq->Qm, dlsch0_harq->codeword, dlsch0_harq->rb_alloc[0],
@@ -775,12 +775,10 @@ void schedule_response(Sched_Rsp_t *Sched_INFO)
case NFAPI_DL_CONFIG_EPDCCH_DL_PDU_TYPE: case NFAPI_DL_CONFIG_EPDCCH_DL_PDU_TYPE:
// handle_nfapi_epdcch_pdu(eNB,dl_config_pdu); // handle_nfapi_epdcch_pdu(eNB,dl_config_pdu);
break; break;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
case NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE: case NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE:
#ifdef Rel14
handle_nfapi_mpdcch_pdu(eNB,proc,dl_config_pdu); handle_nfapi_mpdcch_pdu(eNB,proc,dl_config_pdu);
eNB->mpdcch_vars[subframe&1].num_dci++; eNB->mpdcch_vars[subframe&1].num_dci++;
#endif
break; break;
#endif #endif
} }
+2 -2
View File
@@ -138,7 +138,7 @@ lte_subframe_t get_subframe_direction(uint8_t Mod_id,uint8_t CC_id,uint8_t subfr
void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) { void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) {
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
MCH_PDU *mch_pduP=NULL; MCH_PDU *mch_pduP=NULL;
// uint8_t sync_area=255; // uint8_t sync_area=255;
#endif #endif
@@ -154,7 +154,7 @@ void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) {
subframe<<1,1); subframe<<1,1);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
// if mcch is active, send regardless of the node type: eNB or RN // if mcch is active, send regardless of the node type: eNB or RN
// when mcch is active, MAC sched does not allow MCCH and MTCH multiplexing // when mcch is active, MAC sched does not allow MCCH and MTCH multiplexing
/* /*
+5 -5
View File
@@ -55,7 +55,7 @@ extern uint32_t nfapi_mode;
extern int oai_nfapi_rach_ind(nfapi_rach_indication_t *rach_ind); extern int oai_nfapi_rach_ind(nfapi_rach_indication_t *rach_ind);
void prach_procedures(PHY_VARS_eNB *eNB void prach_procedures(PHY_VARS_eNB *eNB
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
, ,
int br_flag int br_flag
#endif #endif
@@ -64,7 +64,7 @@ void prach_procedures(PHY_VARS_eNB *eNB
uint16_t i; uint16_t i;
int frame,subframe; int frame,subframe;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (br_flag==1) { if (br_flag==1) {
subframe = eNB->proc.subframe_prach_br; subframe = eNB->proc.subframe_prach_br;
frame = eNB->proc.frame_prach_br; frame = eNB->proc.frame_prach_br;
@@ -94,7 +94,7 @@ void prach_procedures(PHY_VARS_eNB *eNB
ru=eNB->RU_list[i]; ru=eNB->RU_list[i];
for (ru_aa=0,aa=0;ru_aa<ru->nb_rx;ru_aa++,aa++) { for (ru_aa=0,aa=0;ru_aa<ru->nb_rx;ru_aa++,aa++) {
eNB->prach_vars.rxsigF[0][aa] = eNB->RU_list[i]->prach_rxsigF[ru_aa]; eNB->prach_vars.rxsigF[0][aa] = eNB->RU_list[i]->prach_rxsigF[ru_aa];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int ce_level; int ce_level;
if (br_flag==1) if (br_flag==1)
@@ -110,7 +110,7 @@ void prach_procedures(PHY_VARS_eNB *eNB
&max_preamble_delay[0], &max_preamble_delay[0],
frame, frame,
0 0
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,br_flag ,br_flag
#endif #endif
); );
@@ -122,7 +122,7 @@ void prach_procedures(PHY_VARS_eNB *eNB
max_preamble_delay[0], max_preamble_delay[0],
eNB->prach_energy_counter); eNB->prach_energy_counter);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (br_flag==1) { if (br_flag==1) {
int prach_mask; int prach_mask;
+4 -4
View File
@@ -3134,7 +3134,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
int subframe_rx = proc->subframe_rx; int subframe_rx = proc->subframe_rx;
int frame_rx = proc->frame_rx; int frame_rx = proc->frame_rx;
int pmch_mcs=-1; int pmch_mcs=-1;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
int CC_id = ue->CC_id; int CC_id = ue->CC_id;
#endif #endif
uint8_t sync_area=255; uint8_t sync_area=255;
@@ -3147,7 +3147,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
LOG_D(PHY,"[UE %d] Frame %d, subframe %d: Querying for PMCH demodulation\n", LOG_D(PHY,"[UE %d] Frame %d, subframe %d: Querying for PMCH demodulation\n",
ue->Mod_id,(subframe_rx==9?-1:0)+frame_rx,subframe_rx); ue->Mod_id,(subframe_rx==9?-1:0)+frame_rx,subframe_rx);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
pmch_mcs = ue_query_mch(ue->Mod_id, pmch_mcs = ue_query_mch(ue->Mod_id,
CC_id, CC_id,
@@ -3238,7 +3238,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
// if (subframe_rx==9) // if (subframe_rx==9)
// mac_xface->macphy_exit("Why are we exiting here?"); // mac_xface->macphy_exit("Why are we exiting here?");
} else { // decoding successful } else { // decoding successful
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (mcch_active == 1) { if (mcch_active == 1) {
ue_send_mch_sdu(ue->Mod_id, ue_send_mch_sdu(ue->Mod_id,
@@ -3261,7 +3261,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
} }
#endif // Rel10 || Rel14 #endif // #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
} // decoding sucessful } // decoding sucessful
} // pmch_mcs>=0 } // pmch_mcs>=0
} // is_pmch_subframe=true } // is_pmch_subframe=true
+2 -2
View File
@@ -34,7 +34,7 @@
#include "RadioResourceConfigDedicated.h" #include "RadioResourceConfigDedicated.h"
#include "MeasGapConfig.h" #include "MeasGapConfig.h"
#include "TDD-Config.h" #include "TDD-Config.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
#include "MBSFN-AreaInfoList-r9.h" #include "MBSFN-AreaInfoList-r9.h"
#include "MBSFN-SubframeConfigList.h" #include "MBSFN-SubframeConfigList.h"
#endif #endif
@@ -356,7 +356,7 @@ typedef struct {
TDD_Config_t *tdd_Config, TDD_Config_t *tdd_Config,
uint8_t *SIwindowsize, uint8_t *SIwindowsize,
uint16_t *SIperiod uint16_t *SIperiod
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
MBMS_flag_t MBMS_Flag, MBMS_flag_t MBMS_Flag,
struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList, struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList,
+1 -1
View File
@@ -86,7 +86,7 @@
#define DEFAULT_RAB_ID 1 #define DEFAULT_RAB_ID 1
#define NB_RB_MAX (maxDRB + 3) /* was 11, now 14, maxDRB comes from asn1_constants.h, + 3 because of 3 SRB, one invisible id 0, then id 1 and 2 */ #define NB_RB_MAX (maxDRB + 3) /* was 11, now 14, maxDRB comes from asn1_constants.h, + 3 because of 3 SRB, one invisible id 0, then id 1 and 2 */
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#define NB_RB_MBMS_MAX (maxSessionPerPMCH*maxServiceCount) #define NB_RB_MBMS_MAX (maxSessionPerPMCH*maxServiceCount)
#else #else
// Do not allocate unused memory // Do not allocate unused memory
+1 -1
View File
@@ -123,7 +123,7 @@ typedef struct RrcConfigurationReq_s {
long pucch_delta_shift[MAX_NUM_CCs]; long pucch_delta_shift[MAX_NUM_CCs];
long pucch_nRB_CQI[MAX_NUM_CCs]; long pucch_nRB_CQI[MAX_NUM_CCs];
long pucch_nCS_AN[MAX_NUM_CCs]; long pucch_nCS_AN[MAX_NUM_CCs];
#if !defined(Rel10) && !defined(Rel14) #if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
long pucch_n1_AN[MAX_NUM_CCs]; long pucch_n1_AN[MAX_NUM_CCs];
#endif #endif
long pdsch_referenceSignalPower[MAX_NUM_CCs]; long pdsch_referenceSignalPower[MAX_NUM_CCs];
+8 -6
View File
@@ -468,7 +468,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
int32_t pucch_delta_shift = 0; int32_t pucch_delta_shift = 0;
int32_t pucch_nRB_CQI = 0; int32_t pucch_nRB_CQI = 0;
int32_t pucch_nCS_AN = 0; int32_t pucch_nCS_AN = 0;
//#if !defined(Rel10) && !defined(Rel14) //#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
int32_t pucch_n1_AN = 0; int32_t pucch_n1_AN = 0;
//#endif //#endif
int32_t pdsch_referenceSignalPower = 0; int32_t pdsch_referenceSignalPower = 0;
@@ -781,7 +781,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
"Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n",
RC.config_file_name, i, prefix_type); RC.config_file_name, i, prefix_type);
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (!pbch_repetition) if (!pbch_repetition)
AssertFatal (0, AssertFatal (0,
"Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n",
@@ -946,7 +946,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
"Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n",
RC.config_file_name, i, pucch_nCS_AN); RC.config_file_name, i, pucch_nCS_AN);
#if !defined(Rel10) && !defined(Rel14) #if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
RRC_CONFIGURATION_REQ (msg_p).pucch_n1_AN[j] = pucch_n1_AN; RRC_CONFIGURATION_REQ (msg_p).pucch_n1_AN[j] = pucch_n1_AN;
if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047))
@@ -1126,7 +1126,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
"Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n",
RC.config_file_name, i, pusch_p0_Nominal); RC.config_file_name, i, pusch_p0_Nominal);
#ifndef Rel14 #if (RRC_VERSION <= MAKE_VERSION(12, 0, 0))
if (strcmp(pusch_alpha,"AL0")==0) { if (strcmp(pusch_alpha,"AL0")==0) {
RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0; RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0;
} else if (strcmp(pusch_alpha,"AL04")==0) { } else if (strcmp(pusch_alpha,"AL04")==0) {
@@ -1144,7 +1144,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
} else if (strcmp(pusch_alpha,"AL1")==0) { } else if (strcmp(pusch_alpha,"AL1")==0) {
RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1; RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1;
} }
#else #endif
#if (RRC_VERSION >= MAKE_VERSION(12, 0, 0))
if (strcmp(pusch_alpha,"AL0")==0) { if (strcmp(pusch_alpha,"AL0")==0) {
RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al0; RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al0;
} else if (strcmp(pusch_alpha,"AL04")==0) { } else if (strcmp(pusch_alpha,"AL04")==0) {
@@ -1347,7 +1349,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
switch (rach_preambleTransMax) { switch (rach_preambleTransMax) {
#ifndef Rel14 #if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
case 3: case 3:
RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3;
break; break;
+1 -1
View File
@@ -254,7 +254,7 @@ typedef enum {
#define ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT "pucch_delta_shift" #define ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT "pucch_delta_shift"
#define ENB_CONFIG_STRING_PUCCH_NRB_CQI "pucch_nRB_CQI" #define ENB_CONFIG_STRING_PUCCH_NRB_CQI "pucch_nRB_CQI"
#define ENB_CONFIG_STRING_PUCCH_NCS_AN "pucch_nCS_AN" #define ENB_CONFIG_STRING_PUCCH_NCS_AN "pucch_nCS_AN"
//#if !defined(Rel10) && !defined(Rel14) //#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
#define ENB_CONFIG_STRING_PUCCH_N1_AN "pucch_n1_AN" #define ENB_CONFIG_STRING_PUCCH_N1_AN "pucch_n1_AN"
//#endif //#endif
#define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower" #define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower"
+19 -19
View File
@@ -35,7 +35,7 @@
#include "SystemInformationBlockType2.h" #include "SystemInformationBlockType2.h"
//#include "RadioResourceConfigCommonSIB.h" //#include "RadioResourceConfigCommonSIB.h"
#include "RadioResourceConfigDedicated.h" #include "RadioResourceConfigDedicated.h"
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
#include "PRACH-ConfigSIB-v1310.h" #include "PRACH-ConfigSIB-v1310.h"
#endif #endif
#include "MeasGapConfig.h" #include "MeasGapConfig.h"
@@ -49,7 +49,7 @@
#include "UTIL/LOG/vcd_signal_dumper.h" #include "UTIL/LOG/vcd_signal_dumper.h"
#include "common/ran_context.h" #include "common/ran_context.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
#include "MBSFN-AreaInfoList-r9.h" #include "MBSFN-AreaInfoList-r9.h"
#include "MBSFN-AreaInfo-r9.h" #include "MBSFN-AreaInfo-r9.h"
#include "MBSFN-SubframeConfigList.h" #include "MBSFN-SubframeConfigList.h"
@@ -193,7 +193,7 @@ void config_mib(int Mod_idP,
int p_eNBP, int p_eNBP,
uint32_t dl_CarrierFreqP, uint32_t dl_CarrierFreqP,
uint32_t ul_CarrierFreqP uint32_t ul_CarrierFreqP
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
, ,
uint32_t pbch_repetitionP uint32_t pbch_repetitionP
#endif #endif
@@ -265,14 +265,14 @@ void config_mib(int Mod_idP,
cfg->sch_config.physical_cell_id.tl.tag = NFAPI_SCH_CONFIG_PHYSICAL_CELL_ID_TAG; cfg->sch_config.physical_cell_id.tl.tag = NFAPI_SCH_CONFIG_PHYSICAL_CELL_ID_TAG;
cfg->num_tlv++; cfg->num_tlv++;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
cfg->emtc_config.pbch_repetitions_enable_r13.value = pbch_repetitionP; cfg->emtc_config.pbch_repetitions_enable_r13.value = pbch_repetitionP;
cfg->emtc_config.pbch_repetitions_enable_r13.tl.tag = NFAPI_EMTC_CONFIG_PBCH_REPETITIONS_ENABLE_R13_TAG; cfg->emtc_config.pbch_repetitions_enable_r13.tl.tag = NFAPI_EMTC_CONFIG_PBCH_REPETITIONS_ENABLE_R13_TAG;
cfg->num_tlv++; cfg->num_tlv++;
#endif #endif
LOG_I(MAC, LOG_I(MAC,
"%s() NFAPI_CONFIG_REQUEST(num_tlv:%u) DL_BW:%u UL_BW:%u Ncp %d,p_eNB %d,earfcn %d,band %d,phich_resource %u phich_duration %u phich_power_offset %u PSS %d SSS %d PCI %d" "%s() NFAPI_CONFIG_REQUEST(num_tlv:%u) DL_BW:%u UL_BW:%u Ncp %d,p_eNB %d,earfcn %d,band %d,phich_resource %u phich_duration %u phich_power_offset %u PSS %d SSS %d PCI %d"
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
" PBCH repetition %d" " PBCH repetition %d"
#endif #endif
@@ -290,7 +290,7 @@ void config_mib(int Mod_idP,
,cfg->sch_config.primary_synchronization_signal_epre_eprers.value ,cfg->sch_config.primary_synchronization_signal_epre_eprers.value
,cfg->sch_config.secondary_synchronization_signal_epre_eprers.value ,cfg->sch_config.secondary_synchronization_signal_epre_eprers.value
,cfg->sch_config.physical_cell_id.value ,cfg->sch_config.physical_cell_id.value
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,cfg->emtc_config.pbch_repetitions_enable_r13.value ,cfg->emtc_config.pbch_repetitions_enable_r13.value
#endif #endif
); );
@@ -329,7 +329,7 @@ void
config_sib2(int Mod_idP, config_sib2(int Mod_idP,
int CC_idP, int CC_idP,
RadioResourceConfigCommonSIB_t * radioResourceConfigCommonP, RadioResourceConfigCommonSIB_t * radioResourceConfigCommonP,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RadioResourceConfigCommonSIB_t * radioResourceConfigCommon_BRP, RadioResourceConfigCommonSIB_t * radioResourceConfigCommon_BRP,
#endif #endif
ARFCN_ValueEUTRA_t *ul_CArrierFreqP, ARFCN_ValueEUTRA_t *ul_CArrierFreqP,
@@ -445,7 +445,7 @@ config_sib2(int Mod_idP,
cfg->num_tlv++; cfg->num_tlv++;
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (RC.mac[Mod_idP]->common_channels[CC_idP].mib->message.schedulingInfoSIB1_BR_r13 > 0) { if (RC.mac[Mod_idP]->common_channels[CC_idP].mib->message.schedulingInfoSIB1_BR_r13 > 0) {
AssertFatal(radioResourceConfigCommon_BRP != NULL, "radioResource rou is missing\n"); AssertFatal(radioResourceConfigCommon_BRP != NULL, "radioResource rou is missing\n");
AssertFatal(radioResourceConfigCommon_BRP->ext4 != NULL, "ext4 is missing\n"); AssertFatal(radioResourceConfigCommon_BRP->ext4 != NULL, "ext4 is missing\n");
@@ -676,20 +676,20 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
int physCellId, int physCellId,
int p_eNB, int p_eNB,
int Ncp, int eutra_band, uint32_t dl_CarrierFreq, int Ncp, int eutra_band, uint32_t dl_CarrierFreq,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int pbch_repetition, int pbch_repetition,
#endif #endif
rnti_t rntiP, rnti_t rntiP,
BCCH_BCH_Message_t * mib, BCCH_BCH_Message_t * mib,
RadioResourceConfigCommonSIB_t * RadioResourceConfigCommonSIB_t *
radioResourceConfigCommon, radioResourceConfigCommon,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RadioResourceConfigCommonSIB_t * RadioResourceConfigCommonSIB_t *
radioResourceConfigCommon_BR, radioResourceConfigCommon_BR,
#endif #endif
struct PhysicalConfigDedicated struct PhysicalConfigDedicated
*physicalConfigDedicated, *physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
SCellToAddMod_r10_t * sCellToAddMod_r10, SCellToAddMod_r10_t * sCellToAddMod_r10,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
#endif #endif
@@ -707,12 +707,12 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
additionalSpectrumEmission, additionalSpectrumEmission,
struct MBSFN_SubframeConfigList struct MBSFN_SubframeConfigList
*mbsfn_SubframeConfigList *mbsfn_SubframeConfigList
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, uint8_t MBMS_Flag, , uint8_t MBMS_Flag,
MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList, MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
PMCH_InfoList_r9_t * pmch_InfoList PMCH_InfoList_r9_t * pmch_InfoList
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
, ,
SystemInformationBlockType1_v1310_IEs_t * SystemInformationBlockType1_v1310_IEs_t *
sib1_v13ext sib1_v13ext
@@ -763,7 +763,7 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
p_eNB, p_eNB,
dl_CarrierFreq, dl_CarrierFreq,
ul_CarrierFreq ul_CarrierFreq
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
, pbch_repetition , pbch_repetition
#endif #endif
); );
@@ -775,7 +775,7 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
RC.mac[Mod_idP]->common_channels[CC_idP].schedulingInfoList = schedulingInfoList; RC.mac[Mod_idP]->common_channels[CC_idP].schedulingInfoList = schedulingInfoList;
config_sib1(Mod_idP,CC_idP,tdd_Config); config_sib1(Mod_idP,CC_idP,tdd_Config);
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
if (sib1_v13ext != NULL) { if (sib1_v13ext != NULL) {
RC.mac[Mod_idP]->common_channels[CC_idP].sib1_v13ext = sib1_v13ext; RC.mac[Mod_idP]->common_channels[CC_idP].sib1_v13ext = sib1_v13ext;
} }
@@ -834,7 +834,7 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
dl_Bandwidth; dl_Bandwidth;
config_sib2(Mod_idP, CC_idP, radioResourceConfigCommon, config_sib2(Mod_idP, CC_idP, radioResourceConfigCommon,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
radioResourceConfigCommon_BR, radioResourceConfigCommon_BR,
#endif #endif
NULL, ul_Bandwidth, additionalSpectrumEmission, NULL, ul_Bandwidth, additionalSpectrumEmission,
@@ -876,7 +876,7 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (sCellToAddMod_r10 != NULL) { if (sCellToAddMod_r10 != NULL) {
UE_id = find_UE_id(Mod_idP, rntiP); UE_id = find_UE_id(Mod_idP, rntiP);
@@ -909,11 +909,11 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
subframeAllocation.choice.oneFrame.buf[0]); subframeAllocation.choice.oneFrame.buf[0]);
} }
#ifdef Rel10 #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
RC.mac[Mod_idP]->common_channels[0].MBMS_flag = MBMS_Flag; RC.mac[Mod_idP]->common_channels[0].MBMS_flag = MBMS_Flag;
#endif #endif
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (mbsfn_AreaInfoList != NULL) { if (mbsfn_AreaInfoList != NULL) {
// One eNB could be part of multiple mbsfn syc area, this could change over time so reset each time // One eNB could be part of multiple mbsfn syc area, this could change over time so reset each time
+9 -9
View File
@@ -36,7 +36,7 @@
#include "SystemInformationBlockType2.h" #include "SystemInformationBlockType2.h"
//#include "RadioResourceConfigCommonSIB.h" //#include "RadioResourceConfigCommonSIB.h"
#include "RadioResourceConfigDedicated.h" #include "RadioResourceConfigDedicated.h"
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
#include "PRACH-ConfigSIB-v1310.h" #include "PRACH-ConfigSIB-v1310.h"
#endif #endif
#include "MeasGapConfig.h" #include "MeasGapConfig.h"
@@ -50,7 +50,7 @@
#include "UTIL/LOG/vcd_signal_dumper.h" #include "UTIL/LOG/vcd_signal_dumper.h"
#include "common/ran_context.h" #include "common/ran_context.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
#include "MBSFN-AreaInfoList-r9.h" #include "MBSFN-AreaInfoList-r9.h"
#include "MBSFN-AreaInfo-r9.h" #include "MBSFN-AreaInfo-r9.h"
#include "MBSFN-SubframeConfigList.h" #include "MBSFN-SubframeConfigList.h"
@@ -110,7 +110,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
radioResourceConfigCommon, radioResourceConfigCommon,
struct PhysicalConfigDedicated struct PhysicalConfigDedicated
*physicalConfigDedicated, *physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
SCellToAddMod_r10_t * sCellToAddMod_r10, SCellToAddMod_r10_t * sCellToAddMod_r10,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
#endif #endif
@@ -129,7 +129,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
additionalSpectrumEmission, additionalSpectrumEmission,
struct MBSFN_SubframeConfigList struct MBSFN_SubframeConfigList
*mbsfn_SubframeConfigList *mbsfn_SubframeConfigList
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, uint8_t MBMS_Flag, , uint8_t MBMS_Flag,
MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList, MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
PMCH_InfoList_r9_t * pmch_InfoList PMCH_InfoList_r9_t * pmch_InfoList
@@ -218,7 +218,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
mac_MainConfig->ul_SCH_Config->periodicBSR_Timer; mac_MainConfig->ul_SCH_Config->periodicBSR_Timer;
} else { } else {
UE_mac_inst[Mod_idP].scheduling_info.periodicBSR_Timer = UE_mac_inst[Mod_idP].scheduling_info.periodicBSR_Timer =
#ifndef Rel14 #if (RRC_VERSION < MAKE_VERSION(12, 0, 0))
(uint16_t) (uint16_t)
MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity
#else #else
@@ -245,7 +245,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
(uint16_t) mac_MainConfig->ul_SCH_Config-> (uint16_t) mac_MainConfig->ul_SCH_Config->
retxBSR_Timer; retxBSR_Timer;
} else { } else {
#ifndef Rel14 #if (RRC_VERSION < MAKE_VERSION(12, 0, 0))
UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer = UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer =
(uint16_t) (uint16_t)
MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560; MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560;
@@ -255,7 +255,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
#endif #endif
} }
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (mac_MainConfig->ext1 if (mac_MainConfig->ext1
&& mac_MainConfig->ext1->sr_ProhibitTimer_r9) { && mac_MainConfig->ext1->sr_ProhibitTimer_r9) {
@@ -361,7 +361,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
physicalConfigDedicated); physicalConfigDedicated);
UE_mac_inst[Mod_idP].physicalConfigDedicated = physicalConfigDedicated; // for SR proc UE_mac_inst[Mod_idP].physicalConfigDedicated = physicalConfigDedicated; // for SR proc
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (sCellToAddMod_r10 != NULL) { if (sCellToAddMod_r10 != NULL) {
@@ -531,7 +531,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
// UE_mac_inst[Mod_idP].mbsfn_SubframeConfig[i]->subframeAllocation.choice.oneFrame.buf[0]); // UE_mac_inst[Mod_idP].mbsfn_SubframeConfig[i]->subframeAllocation.choice.oneFrame.buf[0]);
} }
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (mbsfn_AreaInfoList != NULL) { if (mbsfn_AreaInfoList != NULL) {
LOG_I(MAC, "[UE %d][CONFIG] Received %d MBSFN Area Info\n", LOG_I(MAC, "[UE %d][CONFIG] Received %d MBSFN Area Info\n",
+4 -4
View File
@@ -206,7 +206,7 @@ schedule_CSI(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
ul_req->number_of_pdus++; ul_req->number_of_pdus++;
ul_req->tl.tag = NFAPI_UL_CONFIG_REQUEST_BODY_TAG; ul_req->tl.tag = NFAPI_UL_CONFIG_REQUEST_BODY_TAG;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
// PUT rel10-13 UCI options here // PUT rel10-13 UCI options here
#endif #endif
} else } else
@@ -309,7 +309,7 @@ schedule_SR(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
LOG_D(MAC,"Frame %d, Subframe %d : Scheduling SR for UE %d/%x is_harq:%d\n",frameP,subframeP,UE_id,UE_list->UE_template[CC_id][UE_id].rnti, is_harq); LOG_D(MAC,"Frame %d, Subframe %d : Scheduling SR for UE %d/%x is_harq:%d\n",frameP,subframeP,UE_id,UE_list->UE_template[CC_id][UE_id].rnti, is_harq);
// check Rel10 or Rel8 SR // check Rel10 or Rel8 SR
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if ((UE_list-> UE_template[CC_id][UE_id].physicalConfigDedicated->ext2) if ((UE_list-> UE_template[CC_id][UE_id].physicalConfigDedicated->ext2)
&& (UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->ext2->schedulingRequestConfig_v1020) && (UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->ext2->schedulingRequestConfig_v1020)
&& (UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->ext2->schedulingRequestConfig_v1020)) { && (UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->ext2->schedulingRequestConfig_v1020)) {
@@ -522,7 +522,7 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP,
memset(cc[CC_id].vrb_map_UL, 0, 100); memset(cc[CC_id].vrb_map_UL, 0, 100);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
cc[CC_id].mcch_active = 0; cc[CC_id].mcch_active = 0;
#endif #endif
@@ -623,7 +623,7 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP,
rrc_rx_tx(&ctxt, CC_id); rrc_rx_tx(&ctxt, CC_id);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) { for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
if (cc[CC_id].MBMS_flag > 0) { if (cc[CC_id].MBMS_flag > 0) {
+13 -13
View File
@@ -117,7 +117,7 @@ add_msg3(module_id_t module_idP, int CC_id, RA_t * ra, frame_t frameP,
AssertFatal(ra->state != IDLE, "RA is not active for RA %X\n", AssertFatal(ra->state != IDLE, "RA is not active for RA %X\n",
ra->rnti); ra->rnti);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (ra->rach_resource_type > 0) { if (ra->rach_resource_type > 0) {
LOG_D(MAC, LOG_D(MAC,
"[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d CE level %d is active, Msg3 in (%d,%d)\n", "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d CE level %d is active, Msg3 in (%d,%d)\n",
@@ -266,7 +266,7 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP,
dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu];
N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth); N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int rmax = 0; int rmax = 0;
int rep = 0; int rep = 0;
int reps = 0; int reps = 0;
@@ -619,7 +619,7 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP,
uint8_t offset; uint8_t offset;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int rmax = 0; int rmax = 0;
int rep = 0; int rep = 0;
int reps = 0; int reps = 0;
@@ -710,7 +710,7 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP,
module_idP, CC_idP, frameP, subframeP, UE_id, rrc_sdu_length);*/ module_idP, CC_idP, frameP, subframeP, UE_id, rrc_sdu_length);*/
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (ra->rach_resource_type > 0) { if (ra->rach_resource_type > 0) {
// Generate DCI + repetitions first // Generate DCI + repetitions first
@@ -1217,7 +1217,7 @@ check_Msg4_retransmission(module_id_t module_idP, int CC_idP,
int round; int round;
/* /*
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
COMMON_channels_t *cc = mac->common_channels; COMMON_channels_t *cc = mac->common_channels;
int rmax = 0; int rmax = 0;
@@ -1270,7 +1270,7 @@ check_Msg4_retransmission(module_id_t module_idP, int CC_idP,
if (round != 8) { if (round != 8) {
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (ra->rach_resource_type > 0) { if (ra->rach_resource_type > 0) {
AssertFatal(1 == 0, AssertFatal(1 == 0,
"Msg4 Retransmissions not handled yet for BL/CE UEs\n"); "Msg4 Retransmissions not handled yet for BL/CE UEs\n");
@@ -1426,7 +1426,7 @@ initiate_ra_proc(module_id_t module_idP,
sub_frame_t subframeP, sub_frame_t subframeP,
uint16_t preamble_index, uint16_t preamble_index,
int16_t timing_offset, uint16_t ra_rnti int16_t timing_offset, uint16_t ra_rnti
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
, uint8_t rach_resource_type , uint8_t rach_resource_type
#endif #endif
) )
@@ -1437,7 +1437,7 @@ initiate_ra_proc(module_id_t module_idP,
COMMON_channels_t *cc = &RC.mac[module_idP]->common_channels[CC_id]; COMMON_channels_t *cc = &RC.mac[module_idP]->common_channels[CC_id];
RA_t *ra = &cc->ra[0]; RA_t *ra = &cc->ra[0];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
struct PRACH_ConfigSIB_v1310 *ext4_prach = NULL; struct PRACH_ConfigSIB_v1310 *ext4_prach = NULL;
PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = NULL; PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = NULL;
@@ -1448,12 +1448,12 @@ initiate_ra_proc(module_id_t module_idP,
prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13;
} }
#endif /* Rel14 */ #endif /* #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */
LOG_D(MAC, LOG_D(MAC,
"[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d Initiating RA procedure for preamble index %d\n", "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d Initiating RA procedure for preamble index %d\n",
module_idP, CC_id, frameP, subframeP, preamble_index); module_idP, CC_id, frameP, subframeP, preamble_index);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
LOG_D(MAC, LOG_D(MAC,
"[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d PRACH resource type %d\n", "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d PRACH resource type %d\n",
module_idP, CC_id, frameP, subframeP, rach_resource_type); module_idP, CC_id, frameP, subframeP, rach_resource_type);
@@ -1463,7 +1463,7 @@ initiate_ra_proc(module_id_t module_idP,
uint16_t msg2_subframe = subframeP; uint16_t msg2_subframe = subframeP;
int offset; int offset;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
if (prach_ParametersListCE_r13 && if (prach_ParametersListCE_r13 &&
prach_ParametersListCE_r13->list.count < rach_resource_type) { prach_ParametersListCE_r13->list.count < rach_resource_type) {
@@ -1474,7 +1474,7 @@ initiate_ra_proc(module_id_t module_idP,
return; return;
} }
#endif /* Rel14 */ #endif /* #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 1); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 1);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 0); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 0);
@@ -1487,7 +1487,7 @@ initiate_ra_proc(module_id_t module_idP,
ra[i].state = MSG2; ra[i].state = MSG2;
ra[i].timing_offset = timing_offset; ra[i].timing_offset = timing_offset;
ra[i].preamble_subframe = subframeP; ra[i].preamble_subframe = subframeP;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
ra[i].rach_resource_type = rach_resource_type; ra[i].rach_resource_type = rach_resource_type;
ra[i].msg2_mpdcch_repetition_cnt = 0; ra[i].msg2_mpdcch_repetition_cnt = 0;
ra[i].msg4_mpdcch_repetition_cnt = 0; ra[i].msg4_mpdcch_repetition_cnt = 0;
+3 -3
View File
@@ -59,7 +59,7 @@ extern RAN_CONTEXT_t RC;
// NEED TO ADD schedule_SI_BR for SIB1_BR and SIB23_BR // NEED TO ADD schedule_SI_BR for SIB1_BR and SIB23_BR
// CCE_allocation_infeasible to be done for EPDCCH/MPDCCH // CCE_allocation_infeasible to be done for EPDCCH/MPDCCH
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
#define size_Sj25 2 #define size_Sj25 2
int Sj25[size_Sj25] = { 0, 3 }; int Sj25[size_Sj25] = { 0, 3 };
@@ -533,7 +533,7 @@ schedule_mib(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
LOG_D(MAC, "Frame %d, subframe %d: Adding BCH PDU in position %d (length %d)\n", frameP, subframeP, dl_req->number_pdu, mib_sdu_length); LOG_D(MAC, "Frame %d, subframe %d: Adding BCH PDU in position %d (length %d)\n", frameP, subframeP, dl_req->number_pdu, mib_sdu_length);
if ((frameP & 1023) < 40) if ((frameP & 1023) < 40)
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
LOG_D(MAC, LOG_D(MAC,
"[eNB %d] Frame %d : MIB->BCH CC_id %d, Received %d bytes (cc->mib->message.schedulingInfoSIB1_BR_r13 %d)\n", "[eNB %d] Frame %d : MIB->BCH CC_id %d, Received %d bytes (cc->mib->message.schedulingInfoSIB1_BR_r13 %d)\n",
module_idP, frameP, CC_id, mib_sdu_length, module_idP, frameP, CC_id, mib_sdu_length,
@@ -789,7 +789,7 @@ schedule_SI(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
} }
} }
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
schedule_SIB1_BR(module_idP, frameP, subframeP); schedule_SIB1_BR(module_idP, frameP, subframeP);
schedule_SI_BR(module_idP, frameP, subframeP); schedule_SI_BR(module_idP, frameP, subframeP);
#endif #endif
@@ -2012,11 +2012,15 @@ void schedule_PCH(module_id_t module_idP,frame_t frameP,sub_frame_t subframeP)
dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = mcs; dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = mcs;
// Rel10 fields // Rel10 fields
#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = 3; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = 3;
#endif
// Rel13 fields // Rel13 fields
#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = 0; // regular UE dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = 0; // regular UE
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not BR dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not BR
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = 0xFFFF; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = 0xFFFF;
#endif
if (!CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, P_RNTI)) { if (!CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, P_RNTI)) {
LOG_D(MAC,"Frame %d: Subframe %d : Adding common DCI for P_RNTI\n", frameP,subframeP); LOG_D(MAC,"Frame %d: Subframe %d : Adding common DCI for P_RNTI\n", frameP,subframeP);
+3 -3
View File
@@ -58,7 +58,7 @@
extern RAN_CONTEXT_t RC; extern RAN_CONTEXT_t RC;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
int8_t int8_t
get_mbsfn_sf_alloction(module_id_t module_idP, uint8_t CC_id, get_mbsfn_sf_alloction(module_id_t module_idP, uint8_t CC_id,
uint8_t mbsfn_sync_area) uint8_t mbsfn_sync_area)
@@ -584,7 +584,7 @@ schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
TBS = TBS =
get_TBS_DL(cc->MCH_pdu.mcs, to_prb(cc->mib->message.dl_Bandwidth)); get_TBS_DL(cc->MCH_pdu.mcs, to_prb(cc->mib->message.dl_Bandwidth));
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
// do not let mcch and mtch multiplexing when relaying is active // do not let mcch and mtch multiplexing when relaying is active
// for sync area 1, so not transmit data // for sync area 1, so not transmit data
//if ((i == 0) && ((RC.mac[module_idP]->MBMS_flag != multicast_relay) || (RC.mac[module_idP]->mcch_active==0))) { //if ((i == 0) && ((RC.mac[module_idP]->MBMS_flag != multicast_relay) || (RC.mac[module_idP]->mcch_active==0))) {
@@ -675,7 +675,7 @@ schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
header_len_mtch = 0; header_len_mtch = 0;
} }
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
// } // }
#endif #endif
+16 -11
View File
@@ -890,7 +890,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
else if (ri >= 2 && cc->p_eNB == 4) else if (ri >= 2 && cc->p_eNB == 4)
return (4 + (N << 1) + 4 + (N << 1) + 4); return (4 + (N << 1) + 4 + (N << 1) + 4);
break; break;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(12, 5, 0))
case CQI_ReportModeAperiodic_rm32_v1250: case CQI_ReportModeAperiodic_rm32_v1250:
AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9 AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9
|| tmode == 10, || tmode == 10,
@@ -924,7 +924,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
return (4 + 4 + 4); return (4 + 4 + 4);
break; break;
#endif /* Rel14 */ #endif /* #if (RRC_VERSION >= MAKE_VERSION(12, 5, 0)) */
} }
AssertFatal(1 == 0, "Shouldn't get here\n"); AssertFatal(1 == 0, "Shouldn't get here\n");
return (0); return (0);
@@ -1032,7 +1032,7 @@ program_dlsch_acknak(module_id_t module_idP, int CC_idP, int UE_idP,
nfapi_ul_config_ulsch_harq_information *ulsch_harq_information = NULL; nfapi_ul_config_ulsch_harq_information *ulsch_harq_information = NULL;
nfapi_ul_config_harq_information *harq_information = NULL; nfapi_ul_config_harq_information *harq_information = NULL;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 2, 0))
if ((UE_list->UE_template[CC_idP][UE_idP].physicalConfigDedicated->ext2) if ((UE_list->UE_template[CC_idP][UE_idP].physicalConfigDedicated->ext2)
&& (UE_list->UE_template[CC_idP][UE_idP].physicalConfigDedicated->ext2->pucch_ConfigDedicated_v1020) && (UE_list->UE_template[CC_idP][UE_idP].physicalConfigDedicated->ext2->pucch_ConfigDedicated_v1020)
@@ -1202,12 +1202,15 @@ fill_nfapi_ulsch_harq_information(module_id_t module_
UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pusch_ConfigDedicated) != NULL, UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pusch_ConfigDedicated) != NULL,
"physicalConfigDedicated->puschConfigDedicated for rnti %x is null\n", "physicalConfigDedicated->puschConfigDedicated for rnti %x is null\n",
rntiP); rntiP);
#if defined(Rel14) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 2, 0))
/* if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext2) puschConfigDedicated_v1020 = UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext2->pusch_ConfigDedicated_v1020; /* if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext2) puschConfigDedicated_v1020 = UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext2->pusch_ConfigDedicated_v1020;
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(11, 3, 0))
if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext4) puschConfigDedicated_v1130 = UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext4->pusch_ConfigDedicated_v1130; if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext4) puschConfigDedicated_v1130 = UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext4->pusch_ConfigDedicated_v1130;
#endif
#if (RRC_VERSION >= MAKE_VERSION(12, 5, 0))
if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext5) puschConfigDedicated_v1250 = UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext5->pusch_ConfigDedicated_v1250; if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext5) puschConfigDedicated_v1250 = UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext5->pusch_ConfigDedicated_v1250;
#endif
*/ */
#endif #endif
harq_information->harq_information_rel10.delta_offset_harq = puschConfigDedicated->betaOffset_ACK_Index; harq_information->harq_information_rel10.delta_offset_harq = puschConfigDedicated->betaOffset_ACK_Index;
@@ -1523,7 +1526,7 @@ fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *ul_config_pd
} }
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
void void
fill_nfapi_ulsch_config_request_emtc(nfapi_ul_config_request_pdu_t * fill_nfapi_ulsch_config_request_emtc(nfapi_ul_config_request_pdu_t *
ul_config_pdu, uint8_t ue_type, ul_config_pdu, uint8_t ue_type,
@@ -1824,7 +1827,7 @@ void dump_ue_list(UE_list_t * listP, int ul_flag)
} }
int add_new_ue(module_id_t mod_idP, int cc_idP, rnti_t rntiP, int harq_pidP int add_new_ue(module_id_t mod_idP, int cc_idP, rnti_t rntiP, int harq_pidP
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
, uint8_t rach_resource_type , uint8_t rach_resource_type
#endif #endif
) )
@@ -1858,7 +1861,7 @@ int add_new_ue(module_id_t mod_idP, int cc_idP, rnti_t rntiP, int harq_pidP
UE_list->UE_template[cc_idP][UE_id].pre_assigned_mcs_ul = 0; UE_list->UE_template[cc_idP][UE_id].pre_assigned_mcs_ul = 0;
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
UE_list->UE_template[cc_idP][UE_id].rach_resource_type = UE_list->UE_template[cc_idP][UE_id].rach_resource_type =
rach_resource_type; rach_resource_type;
#endif #endif
@@ -3198,7 +3201,7 @@ extract_harq(module_id_t mod_idP, int CC_idP, int UE_id,
int i, j; int i, j;
uint8_t *pdu; uint8_t *pdu;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
if (UE_list->UE_template[pCCid][UE_id].physicalConfigDedicated != NULL && if (UE_list->UE_template[pCCid][UE_id].physicalConfigDedicated != NULL &&
UE_list->UE_template[pCCid][UE_id].physicalConfigDedicated->pucch_ConfigDedicated != NULL && UE_list->UE_template[pCCid][UE_id].physicalConfigDedicated->pucch_ConfigDedicated != NULL &&
(UE_list->UE_template[pCCid][UE_id].physicalConfigDedicated->ext7) (UE_list->UE_template[pCCid][UE_id].physicalConfigDedicated->ext7)
@@ -3942,7 +3945,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
} }
break; break;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(12, 5, 0))
case CQI_ReportModeAperiodic_rm32_v1250: case CQI_ReportModeAperiodic_rm32_v1250:
AssertFatal(tmode == 4 || tmode == 5 || tmode == 6 || tmode == 8 AssertFatal(tmode == 4 || tmode == 5 || tmode == 6 || tmode == 8
|| tmode == 9 || tmode == 9
@@ -3951,6 +3954,8 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
tmode); tmode);
AssertFatal(1 == 0, "CQI_ReportModeAperiodic_rm32 to be done\n"); AssertFatal(1 == 0, "CQI_ReportModeAperiodic_rm32 to be done\n");
break; break;
#endif
#if (RRC_VERSION >= MAKE_VERSION(13, 1, 0))
case CQI_ReportModeAperiodic_rm10_v1310: case CQI_ReportModeAperiodic_rm10_v1310:
AssertFatal(tmode == 1 || tmode == 2 || tmode == 3 AssertFatal(tmode == 1 || tmode == 2 || tmode == 3
|| tmode == 7, || tmode == 7,
@@ -3966,7 +3971,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
tmode); tmode);
AssertFatal(1 == 0, "CQI_ReportModeAperiodic_rm11 to be done\n"); AssertFatal(1 == 0, "CQI_ReportModeAperiodic_rm11 to be done\n");
break; break;
#endif /* Rel14 */ #endif /* #if (RRC_VERSION >= MAKE_VERSION(13, 1, 0)) */
} }
} }
+3 -3
View File
@@ -543,7 +543,7 @@ rx_sdu(const module_id_t enb_mod_idP,
if ((UE_id = add_new_ue(enb_mod_idP, CC_idP, if ((UE_id = add_new_ue(enb_mod_idP, CC_idP,
mac->common_channels[CC_idP]. mac->common_channels[CC_idP].
ra[ii].rnti, harq_pid ra[ii].rnti, harq_pid
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
, ,
mac->common_channels[CC_idP]. mac->common_channels[CC_idP].
ra[ii].rach_resource_type ra[ii].rach_resource_type
@@ -1434,7 +1434,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
mcs_UL[harq_pid], mcs_UL[harq_pid],
rb_table rb_table
[rb_table_index])); [rb_table_index]));
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (UE_template->rach_resource_type > 0) { // This is a BL/CE UE allocation if (UE_template->rach_resource_type > 0) { // This is a BL/CE UE allocation
fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp_body->ul_config_pdu_list[ul_req_tmp_body->number_of_pdus], UE_template->rach_resource_type > 2 ? 2 : 1, 1, //total_number_of_repetitions fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp_body->ul_config_pdu_list[ul_req_tmp_body->number_of_pdus], UE_template->rach_resource_type > 2 ? 2 : 1, 1, //total_number_of_repetitions
1, //repetition_number 1, //repetition_number
@@ -1517,7 +1517,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
0, // n_srs 0, // n_srs
UE_template-> UE_template->
TBS_UL[harq_pid]); TBS_UL[harq_pid]);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (UE_template->rach_resource_type > 0) { // This is a BL/CE UE allocation if (UE_template->rach_resource_type > 0) { // This is a BL/CE UE allocation
fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp_body->ul_config_pdu_list[ul_req_tmp_body->number_of_pdus], UE_template->rach_resource_type > 2 ? 2 : 1, 1, //total_number_of_repetitions fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp_body->ul_config_pdu_list[ul_req_tmp_body->number_of_pdus], UE_template->rach_resource_type > 2 ? 2 : 1, 1, //total_number_of_repetitions
1, //repetition_number 1, //repetition_number
+14 -12
View File
@@ -54,13 +54,15 @@
#include "RACH-ConfigCommon.h" #include "RACH-ConfigCommon.h"
#include "MeasObjectToAddModList.h" #include "MeasObjectToAddModList.h"
#include "MobilityControlInfo.h" #include "MobilityControlInfo.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
#include "MBSFN-AreaInfoList-r9.h" #include "MBSFN-AreaInfoList-r9.h"
#include "MBSFN-SubframeConfigList.h" #include "MBSFN-SubframeConfigList.h"
#include "PMCH-InfoList-r9.h" #include "PMCH-InfoList-r9.h"
#endif
#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#include "SCellToAddMod-r10.h" #include "SCellToAddMod-r10.h"
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
#include "SystemInformationBlockType1-v1310-IEs.h" #include "SystemInformationBlockType1-v1310-IEs.h"
#include "SystemInformationBlockType18-r12.h" #include "SystemInformationBlockType18-r12.h"
#endif #endif
@@ -89,7 +91,7 @@
#define DCH_PAYLOAD_SIZE_MAX 4096 #define DCH_PAYLOAD_SIZE_MAX 4096
/// Logical channel ids from 36-311 (Note BCCH is not specified in 36-311, uses the same as first DRB) /// Logical channel ids from 36-311 (Note BCCH is not specified in 36-311, uses the same as first DRB)
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
// Mask for identifying subframe for MBMS // Mask for identifying subframe for MBMS
#define MBSFN_TDD_SF3 0x80 // for TDD #define MBSFN_TDD_SF3 0x80 // for TDD
@@ -383,7 +385,7 @@ typedef struct {
uint8_t payload[PCCH_PAYLOAD_SIZE_MAX]; uint8_t payload[PCCH_PAYLOAD_SIZE_MAX];
} __attribute__ ((__packed__)) PCCH_PDU; } __attribute__ ((__packed__)) PCCH_PDU;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
/*! \brief MCCH payload */ /*! \brief MCCH payload */
typedef struct { typedef struct {
uint8_t payload[MCCH_PAYLOAD_SIZE_MAX]; uint8_t payload[MCCH_PAYLOAD_SIZE_MAX];
@@ -440,7 +442,7 @@ typedef struct {
/*!\brief LCID of padding LCID for DLSCH */ /*!\brief LCID of padding LCID for DLSCH */
#define SHORT_PADDING 31 #define SHORT_PADDING 31
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
// MCH LCHAN IDs (table6.2.1-4 TS36.321) // MCH LCHAN IDs (table6.2.1-4 TS36.321)
/*!\brief LCID of MCCH for DL */ /*!\brief LCID of MCCH for DL */
#define MCCH_LCHANID 0 #define MCCH_LCHANID 0
@@ -892,7 +894,7 @@ typedef struct {
eNB_UE_estimated_distances distance; eNB_UE_estimated_distances distance;
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint8_t rach_resource_type; uint8_t rach_resource_type;
uint16_t mpdcch_repetition_cnt; uint16_t mpdcch_repetition_cnt;
frame_t Msg2_frame; frame_t Msg2_frame;
@@ -1034,7 +1036,7 @@ typedef struct {
int msg4_TBsize; int msg4_TBsize;
/// MCS used for Msg4 /// MCS used for Msg4
int msg4_mcs; int msg4_mcs;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint8_t rach_resource_type; uint8_t rach_resource_type;
uint8_t msg2_mpdcch_repetition_cnt; uint8_t msg2_mpdcch_repetition_cnt;
uint8_t msg4_mpdcch_repetition_cnt; uint8_t msg4_mpdcch_repetition_cnt;
@@ -1099,7 +1101,7 @@ typedef struct {
uint32_t dl_CarrierFreq; uint32_t dl_CarrierFreq;
BCCH_BCH_Message_t *mib; BCCH_BCH_Message_t *mib;
RadioResourceConfigCommonSIB_t *radioResourceConfigCommon; RadioResourceConfigCommonSIB_t *radioResourceConfigCommon;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RadioResourceConfigCommonSIB_t *radioResourceConfigCommon_BR; RadioResourceConfigCommonSIB_t *radioResourceConfigCommon_BR;
#endif #endif
TDD_Config_t *tdd_Config; TDD_Config_t *tdd_Config;
@@ -1130,7 +1132,7 @@ typedef struct {
struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8]; struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8];
/// number of subframe allocation pattern available for MBSFN sync area /// number of subframe allocation pattern available for MBSFN sync area
uint8_t num_sf_allocation_pattern; uint8_t num_sf_allocation_pattern;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
/// MBMS Flag /// MBMS Flag
uint8_t MBMS_flag; uint8_t MBMS_flag;
/// Outgoing MCCH pdu for PHY /// Outgoing MCCH pdu for PHY
@@ -1152,7 +1154,7 @@ typedef struct {
/// Outgoing MCH pdu for PHY /// Outgoing MCH pdu for PHY
MCH_PDU MCH_pdu; MCH_PDU MCH_pdu;
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
/// Rel13 parameters from SIB1 /// Rel13 parameters from SIB1
SystemInformationBlockType1_v1310_IEs_t *sib1_v13ext; SystemInformationBlockType1_v1310_IEs_t *sib1_v13ext;
/// Counter for SIB1-BR scheduling /// Counter for SIB1-BR scheduling
@@ -1347,7 +1349,7 @@ typedef struct {
struct RACH_ConfigDedicated *rach_ConfigDedicated; struct RACH_ConfigDedicated *rach_ConfigDedicated;
/// pointer to RRC PHY configuration /// pointer to RRC PHY configuration
struct PhysicalConfigDedicated *physicalConfigDedicated; struct PhysicalConfigDedicated *physicalConfigDedicated;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
/// pointer to RRC PHY configuration SCEll /// pointer to RRC PHY configuration SCEll
struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10; struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10;
/// Preconfiguration for Sidelink /// Preconfiguration for Sidelink
@@ -1457,7 +1459,7 @@ typedef struct {
struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8]; // FIXME replace 8 by MAX_MBSFN_AREA? struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8]; // FIXME replace 8 by MAX_MBSFN_AREA?
/// number of subframe allocation pattern available for MBSFN sync area /// number of subframe allocation pattern available for MBSFN sync area
uint8_t num_sf_allocation_pattern; uint8_t num_sf_allocation_pattern;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
/// number of active MBSFN area /// number of active MBSFN area
uint8_t num_active_mbsfn_area; uint8_t num_active_mbsfn_area;
/// MBSFN Area Info /// MBSFN Area Info
+13 -13
View File
@@ -267,7 +267,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame
void initiate_ra_proc(module_id_t module_idP, int CC_id, frame_t frameP, void initiate_ra_proc(module_id_t module_idP, int CC_id, frame_t frameP,
sub_frame_t subframeP, uint16_t preamble_index, sub_frame_t subframeP, uint16_t preamble_index,
int16_t timing_offset, uint16_t rnti int16_t timing_offset, uint16_t rnti
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
, uint8_t rach_resource_type , uint8_t rach_resource_type
#endif #endif
); );
@@ -286,7 +286,7 @@ unsigned short fill_rar(const module_id_t module_idP,
const uint16_t N_RB_UL, const uint16_t N_RB_UL,
const uint8_t input_buffer_length); const uint8_t input_buffer_length);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
unsigned short fill_rar_br(eNB_MAC_INST * eNB, unsigned short fill_rar_br(eNB_MAC_INST * eNB,
int CC_id, int CC_id,
RA_t * ra, RA_t * ra,
@@ -522,7 +522,7 @@ void ue_send_sl_sdu(module_id_t module_idP,
sl_discovery_flag_t sl_discovery_flag sl_discovery_flag_t sl_discovery_flag
); );
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
/* \brief Called by PHY to transfer MCH transport block to ue MAC. /* \brief Called by PHY to transfer MCH transport block to ue MAC.
@param Mod_id Index of module instance @param Mod_id Index of module instance
@param frame Frame index @param frame Frame index
@@ -667,7 +667,7 @@ int to_prb(int);
int to_rbg(int); int to_rbg(int);
int mac_init(void); int mac_init(void);
int add_new_ue(module_id_t Mod_id, int CC_id, rnti_t rnti, int harq_pid int add_new_ue(module_id_t Mod_id, int CC_id, rnti_t rnti, int harq_pid
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
, uint8_t rach_resource_type , uint8_t rach_resource_type
#endif #endif
); );
@@ -918,20 +918,20 @@ int rrc_mac_config_req_eNB(module_id_t module_idP,
int p_eNB, int p_eNB,
int Ncp, int Ncp,
int eutra_band, uint32_t dl_CarrierFreq, int eutra_band, uint32_t dl_CarrierFreq,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int pbch_repetition, int pbch_repetition,
#endif #endif
rnti_t rntiP, rnti_t rntiP,
BCCH_BCH_Message_t * mib, BCCH_BCH_Message_t * mib,
RadioResourceConfigCommonSIB_t * RadioResourceConfigCommonSIB_t *
radioResourceConfigCommon, radioResourceConfigCommon,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RadioResourceConfigCommonSIB_t * RadioResourceConfigCommonSIB_t *
radioResourceConfigCommon_BR, radioResourceConfigCommon_BR,
#endif #endif
struct PhysicalConfigDedicated struct PhysicalConfigDedicated
*physicalConfigDedicated, *physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
SCellToAddMod_r10_t * sCellToAddMod_r10, SCellToAddMod_r10_t * sCellToAddMod_r10,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
#endif #endif
@@ -949,13 +949,13 @@ int rrc_mac_config_req_eNB(module_id_t module_idP,
additionalSpectrumEmission, additionalSpectrumEmission,
struct MBSFN_SubframeConfigList struct MBSFN_SubframeConfigList
*mbsfn_SubframeConfigList *mbsfn_SubframeConfigList
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
uint8_t MBMS_Flag, uint8_t MBMS_Flag,
MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList, MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
PMCH_InfoList_r9_t * pmch_InfoList PMCH_InfoList_r9_t * pmch_InfoList
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
, ,
SystemInformationBlockType1_v1310_IEs_t * SystemInformationBlockType1_v1310_IEs_t *
sib1_ext_r13 sib1_ext_r13
@@ -989,7 +989,7 @@ int rrc_mac_config_req_ue(module_id_t module_idP,
radioResourceConfigCommon, radioResourceConfigCommon,
struct PhysicalConfigDedicated struct PhysicalConfigDedicated
*physicalConfigDedicated, *physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
SCellToAddMod_r10_t * sCellToAddMod_r10, SCellToAddMod_r10_t * sCellToAddMod_r10,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
#endif #endif
@@ -1008,7 +1008,7 @@ int rrc_mac_config_req_ue(module_id_t module_idP,
additionalSpectrumEmission, additionalSpectrumEmission,
struct MBSFN_SubframeConfigList struct MBSFN_SubframeConfigList
*mbsfn_SubframeConfigList *mbsfn_SubframeConfigList
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, ,
uint8_t MBMS_Flag, uint8_t MBMS_Flag,
MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList, MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
@@ -1115,7 +1115,7 @@ void fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *
uint8_t current_tx_nb, uint8_t current_tx_nb,
uint8_t n_srs, uint16_t size); uint8_t n_srs, uint16_t size);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void fill_nfapi_ulsch_config_request_emtc(nfapi_ul_config_request_pdu_t * void fill_nfapi_ulsch_config_request_emtc(nfapi_ul_config_request_pdu_t *
ul_config_pdu, uint8_t ue_type, ul_config_pdu, uint8_t ue_type,
uint16_t uint16_t
@@ -1191,7 +1191,7 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP);
uint8_t get_ul_req_index(module_id_t module_idP, int CC_idP, uint8_t get_ul_req_index(module_id_t module_idP, int CC_idP,
sub_frame_t subframeP); sub_frame_t subframeP);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int get_numnarrowbandbits(long dl_Bandwidth); int get_numnarrowbandbits(long dl_Bandwidth);
int mpdcch_sf_condition(eNB_MAC_INST * eNB, int CC_id, frame_t frameP, int mpdcch_sf_condition(eNB_MAC_INST * eNB, int CC_id, frame_t frameP,
+1 -1
View File
@@ -124,7 +124,7 @@ DCI1A_5MHz_TDD_1_6_t BCCH_alloc_pdu;
DCI1A_5MHz_TDD_1_6_t CCCH_alloc_pdu; DCI1A_5MHz_TDD_1_6_t CCCH_alloc_pdu;
DCI1_5MHz_TDD_t DLSCH_alloc_pdu; DCI1_5MHz_TDD_t DLSCH_alloc_pdu;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
DCI1C_5MHz_t MCCH_alloc_pdu; DCI1C_5MHz_t MCCH_alloc_pdu;
#endif #endif
+1 -1
View File
@@ -98,7 +98,7 @@ fill_rar(const module_id_t module_idP,
return (ra->rnti); return (ra->rnti);
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
unsigned short unsigned short
fill_rar_br(eNB_MAC_INST * eNB, fill_rar_br(eNB_MAC_INST * eNB,
+1 -1
View File
@@ -687,7 +687,7 @@ ue_decode_p(module_id_t module_idP, int CC_id, frame_t frameP,
} }
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
unsigned char *parse_mch_header(unsigned char *mac_header, unsigned char *parse_mch_header(unsigned char *mac_header,
unsigned char *num_sdu, unsigned char *num_sdu,
unsigned char *rx_lcids, unsigned char *rx_lcids,
+7 -7
View File
@@ -1163,7 +1163,7 @@ rrc_pdcp_config_asn1_req (
uint8_t *const kRRCenc_pP, uint8_t *const kRRCenc_pP,
uint8_t *const kRRCint_pP, uint8_t *const kRRCint_pP,
uint8_t *const kUPenc_pP uint8_t *const kUPenc_pP
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,PMCH_InfoList_r9_t* const pmch_InfoList_r9_pP ,PMCH_InfoList_r9_t* const pmch_InfoList_r9_pP
#endif #endif
,rb_id_t *const defaultDRB ,rb_id_t *const defaultDRB
@@ -1190,7 +1190,7 @@ rrc_pdcp_config_asn1_req (
hashtable_rc_t h_rc; hashtable_rc_t h_rc;
hash_key_t key_defaultDRB = HASHTABLE_NOT_A_KEY_VALUE; hash_key_t key_defaultDRB = HASHTABLE_NOT_A_KEY_VALUE;
hashtable_rc_t h_defaultDRB_rc; hashtable_rc_t h_defaultDRB_rc;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
int i,j; int i,j;
MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL; MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
MBMS_SessionInfo_r9_t *MBMS_SessionInfo_p = NULL; MBMS_SessionInfo_r9_t *MBMS_SessionInfo_p = NULL;
@@ -1488,7 +1488,7 @@ rrc_pdcp_config_asn1_req (
} }
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
if (pmch_InfoList_r9_pP != NULL) { if (pmch_InfoList_r9_pP != NULL) {
for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) { for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) {
@@ -1698,7 +1698,7 @@ pdcp_config_req_asn1 (
memset(pdcp_pP, 0, sizeof(pdcp_t)); memset(pdcp_pP, 0, sizeof(pdcp_t));
break; break;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
case CONFIG_ACTION_MBMS_ADD: case CONFIG_ACTION_MBMS_ADD:
case CONFIG_ACTION_MBMS_MODIFY: case CONFIG_ACTION_MBMS_MODIFY:
@@ -2019,7 +2019,7 @@ void pdcp_layer_init(void)
module_id_t instance; module_id_t instance;
int i,j; int i,j;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
mbms_session_id_t session_id; mbms_session_id_t session_id;
mbms_service_id_t service_id; mbms_service_id_t service_id;
#endif #endif
@@ -2031,7 +2031,7 @@ void pdcp_layer_init(void)
AssertFatal(pdcp_coll_p != NULL, "UNRECOVERABLE error, PDCP hashtable_create failed"); AssertFatal(pdcp_coll_p != NULL, "UNRECOVERABLE error, PDCP hashtable_create failed");
for (instance = 0; instance < MAX_MOBILES_PER_ENB; instance++) { for (instance = 0; instance < MAX_MOBILES_PER_ENB; instance++) {
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
for (service_id = 0; service_id < maxServiceCount; service_id++) { for (service_id = 0; service_id < maxServiceCount; service_id++) {
for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) { for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) {
@@ -2045,7 +2045,7 @@ void pdcp_layer_init(void)
for (instance = 0; instance < NUMBER_OF_eNB_MAX; instance++) { for (instance = 0; instance < NUMBER_OF_eNB_MAX; instance++) {
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
for (service_id = 0; service_id < maxServiceCount; service_id++) { for (service_id = 0; service_id < maxServiceCount; service_id++) {
for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) { for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) {
+4 -4
View File
@@ -74,7 +74,7 @@
#include "DRB-ToAddModList.h" #include "DRB-ToAddModList.h"
#include "SRB-ToAddMod.h" #include "SRB-ToAddMod.h"
#include "SRB-ToAddModList.h" #include "SRB-ToAddModList.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
#include "MBMS-SessionInfoList-r9.h" #include "MBMS-SessionInfoList-r9.h"
#include "PMCH-InfoList-r9.h" #include "PMCH-InfoList-r9.h"
#endif #endif
@@ -223,7 +223,7 @@ typedef struct pdcp_s {
} pdcp_t; } pdcp_t;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
typedef struct pdcp_mbms_s { typedef struct pdcp_mbms_s {
boolean_t instanciated_instance; boolean_t instanciated_instance;
rb_id_t rb_id; rb_id_t rb_id;
@@ -328,7 +328,7 @@ public_pdcp(
uint8_t *const kRRCenc, uint8_t *const kRRCenc,
uint8_t *const kRRCint, uint8_t *const kRRCint,
uint8_t *const kUPenc uint8_t *const kUPenc
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,PMCH_InfoList_r9_t *pmch_InfoList_r9 ,PMCH_InfoList_r9_t *pmch_InfoList_r9
#endif #endif
,rb_id_t *const defaultDRB ,rb_id_t *const defaultDRB
@@ -543,7 +543,7 @@ public_pdcp(pdcp_stats_t eNB_pdcp_stats[NUMBER_OF_eNB_MAX];)
protected_pdcp(rnti_t pdcp_UE_UE_module_id_to_rnti[MAX_MOBILES_PER_ENB];) protected_pdcp(rnti_t pdcp_UE_UE_module_id_to_rnti[MAX_MOBILES_PER_ENB];)
protected_pdcp(rnti_t pdcp_eNB_UE_instance_to_rnti[MAX_MOBILES_PER_ENB];) // for noS1 mode protected_pdcp(rnti_t pdcp_eNB_UE_instance_to_rnti[MAX_MOBILES_PER_ENB];) // for noS1 mode
protected_pdcp(unsigned int pdcp_eNB_UE_instance_to_rnti_index;) protected_pdcp(unsigned int pdcp_eNB_UE_instance_to_rnti_index;)
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
public_pdcp(pdcp_mbms_t pdcp_mbms_array_ue[MAX_MOBILES_PER_ENB][maxServiceCount][maxSessionPerPMCH];) // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h public_pdcp(pdcp_mbms_t pdcp_mbms_array_ue[MAX_MOBILES_PER_ENB][maxServiceCount][maxSessionPerPMCH];) // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h
public_pdcp(pdcp_mbms_t pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH];) // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h public_pdcp(pdcp_mbms_t pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH];) // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h
#endif #endif
+1 -1
View File
@@ -544,7 +544,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const ctxt_pP)
if ((data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV6_TYPE_MULTICAST) /*TRAFFIC_IPV6_TYPE_MULTICAST */ || if ((data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV6_TYPE_MULTICAST) /*TRAFFIC_IPV6_TYPE_MULTICAST */ ||
(data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV4_TYPE_MULTICAST) /*TRAFFIC_IPV4_TYPE_MULTICAST */ || (data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV4_TYPE_MULTICAST) /*TRAFFIC_IPV4_TYPE_MULTICAST */ ||
(data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV4_TYPE_BROADCAST) /*TRAFFIC_IPV4_TYPE_BROADCAST */ ) { (data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV4_TYPE_BROADCAST) /*TRAFFIC_IPV4_TYPE_BROADCAST */ ) {
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
PDCP_TRANSMISSION_MODE_TRANSPARENT; PDCP_TRANSMISSION_MODE_TRANSPARENT;
#else #else
pdcp_mode= PDCP_TRANSMISSION_MODE_DATA; pdcp_mode= PDCP_TRANSMISSION_MODE_DATA;
+2 -2
View File
@@ -240,7 +240,7 @@ config_req_rlc_am (
uint16_t pollPDU_tab[PollPDU_pInfinity+1]= {4,8,16,32,64,128,256,RLC_AM_POLL_PDU_INFINITE}; //PollPDU_pInfinity is chosen to 0xFFFF for now uint16_t pollPDU_tab[PollPDU_pInfinity+1]= {4,8,16,32,64,128,256,RLC_AM_POLL_PDU_INFINITE}; //PollPDU_pInfinity is chosen to 0xFFFF for now
uint32_t maxRetxThreshold_tab[UL_AM_RLC__maxRetxThreshold_t32+1]= {1,2,3,4,6,8,16,32}; uint32_t maxRetxThreshold_tab[UL_AM_RLC__maxRetxThreshold_t32+1]= {1,2,3,4,6,8,16,32};
uint32_t pollByte_tab[PollByte_spare1]= {25000,50000,75000,100000,125000,250000,375000,500000,750000,1000000,1250000,1500000,2000000,3000000,RLC_AM_POLL_BYTE_INFINITE}; // PollByte_kBinfinity is chosen to 0xFFFFFFFF for now uint32_t pollByte_tab[PollByte_spare1]= {25000,50000,75000,100000,125000,250000,375000,500000,750000,1000000,1250000,1500000,2000000,3000000,RLC_AM_POLL_BYTE_INFINITE}; // PollByte_kBinfinity is chosen to 0xFFFFFFFF for now
#if defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint32_t PollRetransmit_tab[T_PollRetransmit_spare5]= {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,2000,4000}; uint32_t PollRetransmit_tab[T_PollRetransmit_spare5]= {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,2000,4000};
uint32_t am_t_Reordering_tab[32]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200,1600}; uint32_t am_t_Reordering_tab[32]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200,1600};
uint32_t t_StatusProhibit_tab[T_StatusProhibit_spare2]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,1200,1600,2000,2400}; uint32_t t_StatusProhibit_tab[T_StatusProhibit_spare2]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,1200,1600,2000,2400};
@@ -271,7 +271,7 @@ void config_req_rlc_am_asn1 (
if ((config_am_pP->ul_AM_RLC.maxRetxThreshold <= UL_AM_RLC__maxRetxThreshold_t32) && if ((config_am_pP->ul_AM_RLC.maxRetxThreshold <= UL_AM_RLC__maxRetxThreshold_t32) &&
(config_am_pP->ul_AM_RLC.pollPDU<=PollPDU_pInfinity) && (config_am_pP->ul_AM_RLC.pollPDU<=PollPDU_pInfinity) &&
(config_am_pP->ul_AM_RLC.pollByte<PollByte_spare1) && (config_am_pP->ul_AM_RLC.pollByte<PollByte_spare1) &&
#if defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
(config_am_pP->ul_AM_RLC.t_PollRetransmit<T_PollRetransmit_spare5) && (config_am_pP->ul_AM_RLC.t_PollRetransmit<T_PollRetransmit_spare5) &&
(config_am_pP->dl_AM_RLC.t_Reordering<32) && (config_am_pP->dl_AM_RLC.t_Reordering<32) &&
(config_am_pP->dl_AM_RLC.t_StatusProhibit<T_StatusProhibit_spare2) ) { (config_am_pP->dl_AM_RLC.t_StatusProhibit<T_StatusProhibit_spare2) ) {
@@ -78,7 +78,7 @@ void config_req_rlc_um (
} }
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#if defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
const uint32_t t_Reordering_tab[32] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200,1600}; const uint32_t t_Reordering_tab[32] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200,1600};
#else #else
const uint32_t t_Reordering_tab[T_Reordering_spare1] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200}; const uint32_t t_Reordering_tab[T_Reordering_spare1] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200};
@@ -108,7 +108,7 @@ void config_req_rlc_um_asn1 (
hash_key_t key = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP); hash_key_t key = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
hashtable_rc_t h_rc; hashtable_rc_t h_rc;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (mbms_flagP) { if (mbms_flagP) {
AssertFatal(dl_rlc_pP, "No RLC UM DL config"); AssertFatal(dl_rlc_pP, "No RLC UM DL config");
@@ -206,7 +206,7 @@ void config_req_rlc_um_asn1 (
return; return;
} }
#if defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (dl_rlc_pP->t_Reordering<32) { if (dl_rlc_pP->t_Reordering<32) {
#else #else
if (dl_rlc_pP->t_Reordering<T_Reordering_spare1) { if (dl_rlc_pP->t_Reordering<T_Reordering_spare1) {
+7 -7
View File
@@ -328,7 +328,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
hash_key_t key = HASHTABLE_NOT_A_KEY_VALUE; hash_key_t key = HASHTABLE_NOT_A_KEY_VALUE;
hashtable_rc_t h_rc; hashtable_rc_t h_rc;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
rlc_mbms_id_t *mbms_id_p = NULL; rlc_mbms_id_t *mbms_id_p = NULL;
logical_chan_id_t log_ch_id = 0; logical_chan_id_t log_ch_id = 0;
#endif #endif
@@ -342,7 +342,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
sdu_sizeP, sdu_sizeP,
sdu_pP); sdu_pP);
#endif #endif
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#else #else
AssertFatal(MBMS_flagP == 0, "MBMS_flagP %u", MBMS_flagP); AssertFatal(MBMS_flagP == 0, "MBMS_flagP %u", MBMS_flagP);
#endif #endif
@@ -361,13 +361,13 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
DevAssert(sdu_pP != NULL); DevAssert(sdu_pP != NULL);
DevCheck(sdu_sizeP > 0, sdu_sizeP, 0, 0); DevCheck(sdu_sizeP > 0, sdu_sizeP, 0, 0);
#if !defined(Rel10) && !defined(Rel14) #if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
DevCheck(MBMS_flagP == 0, MBMS_flagP, 0, 0); DevCheck(MBMS_flagP == 0, MBMS_flagP, 0, 0);
#endif #endif
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_IN); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_IN);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (MBMS_flagP == TRUE) { if (MBMS_flagP == TRUE) {
if (ctxt_pP->enb_flag) { if (ctxt_pP->enb_flag) {
@@ -507,7 +507,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
} else { /* MBMS_flag != 0 */ } else { /* MBMS_flag != 0 */
// LOG_I(RLC,"DUY rlc_data_req: mbms_rb_id in RLC instant is: %d\n", mbms_rb_id); // LOG_I(RLC,"DUY rlc_data_req: mbms_rb_id in RLC instant is: %d\n", mbms_rb_id);
if (sdu_pP != NULL) { if (sdu_pP != NULL) {
@@ -625,7 +625,7 @@ rlc_module_init (void)
AssertFatal(rlc_coll_p != NULL, "UNRECOVERABLE error, RLC hashtable_create failed"); AssertFatal(rlc_coll_p != NULL, "UNRECOVERABLE error, RLC hashtable_create failed");
for (module_id1=0; module_id1 < MAX_MOBILES_PER_ENB; module_id1++) { for (module_id1=0; module_id1 < MAX_MOBILES_PER_ENB; module_id1++) {
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
for (k=0; k < RLC_MAX_MBMS_LC; k++) { for (k=0; k < RLC_MAX_MBMS_LC; k++) {
rlc_mbms_lcid2service_session_id_ue[module_id1][k].service_id = 0; rlc_mbms_lcid2service_session_id_ue[module_id1][k].service_id = 0;
@@ -640,7 +640,7 @@ rlc_module_init (void)
} }
for (module_id1=0; module_id1 < NUMBER_OF_eNB_MAX; module_id1++) { for (module_id1=0; module_id1 < NUMBER_OF_eNB_MAX; module_id1++) {
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
for (k=0; k < RLC_MAX_MBMS_LC; k++) { for (k=0; k < RLC_MAX_MBMS_LC; k++) {
rlc_mbms_lcid2service_session_id_eNB[module_id1][k].service_id = 0; rlc_mbms_lcid2service_session_id_eNB[module_id1][k].service_id = 0;
+3 -3
View File
@@ -55,7 +55,7 @@
# include "SRB-ToAddModList.h" # include "SRB-ToAddModList.h"
# include "DRB-ToReleaseList.h" # include "DRB-ToReleaseList.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
#include "PMCH-InfoList-r9.h" #include "PMCH-InfoList-r9.h"
#endif #endif
@@ -224,7 +224,7 @@ typedef struct rlc_mbms_id_s {
mbms_session_id_t session_id; mbms_session_id_t session_id;
} rlc_mbms_id_t; } rlc_mbms_id_t;
#if !defined(Rel10) && !defined(Rel14) #if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
# if !defined(maxServiceCount) # if !defined(maxServiceCount)
//unused arrays rlc_mbms_array_ue rlc_mbms_array_eNB //unused arrays rlc_mbms_array_ue rlc_mbms_array_eNB
# define maxServiceCount 1 # define maxServiceCount 1
@@ -326,7 +326,7 @@ private_rlc_mac(struct mac_data_ind mac_rlc_deserialize_tb (char*, tb_size_t,
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// PUBLIC INTERFACE WITH RRC // PUBLIC INTERFACE WITH RRC
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
/*! \fn rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t* const ctxtP, const srb_flag_t srb_flagP, const SRB_ToAddMod_t* const srb2addmod, const DRB_ToAddModList_t* const drb2add_listP, const DRB_ToReleaseList_t* const drb2release_listP, const PMCH_InfoList_r9_t * const pmch_info_listP) /*! \fn rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t* const ctxtP, const srb_flag_t srb_flagP, const SRB_ToAddMod_t* const srb2addmod, const DRB_ToAddModList_t* const drb2add_listP, const DRB_ToReleaseList_t* const drb2release_listP, const PMCH_InfoList_r9_t * const pmch_info_listP)
* \brief Function for RRC to configure a Radio Bearer. * \brief Function for RRC to configure a Radio Bearer.
* \param[in] ctxtP Running context. * \param[in] ctxtP Running context.
+9 -9
View File
@@ -39,7 +39,7 @@
#include "SRB-ToAddMod.h" #include "SRB-ToAddMod.h"
#include "SRB-ToAddModList.h" #include "SRB-ToAddModList.h"
#include "DL-UM-RLC.h" #include "DL-UM-RLC.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
#include "PMCH-InfoList-r9.h" #include "PMCH-InfoList-r9.h"
#endif #endif
@@ -50,7 +50,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
const SRB_ToAddModList_t * const srb2add_listP, const SRB_ToAddModList_t * const srb2add_listP,
const DRB_ToAddModList_t * const drb2add_listP, const DRB_ToAddModList_t * const drb2add_listP,
const DRB_ToReleaseList_t * const drb2release_listP const DRB_ToReleaseList_t * const drb2release_listP
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,const PMCH_InfoList_r9_t * const pmch_InfoList_r9_pP ,const PMCH_InfoList_r9_t * const pmch_InfoList_r9_pP
,const uint32_t sourceL2Id ,const uint32_t sourceL2Id
,const uint32_t destinationL2Id ,const uint32_t destinationL2Id
@@ -68,7 +68,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
rlc_union_t *rlc_union_p = NULL; rlc_union_t *rlc_union_p = NULL;
hash_key_t key = HASHTABLE_NOT_A_KEY_VALUE; hash_key_t key = HASHTABLE_NOT_A_KEY_VALUE;
hashtable_rc_t h_rc; hashtable_rc_t h_rc;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
int i, j; int i, j;
MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL; MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
MBMS_SessionInfo_r9_t *MBMS_SessionInfo_p = NULL; MBMS_SessionInfo_r9_t *MBMS_SessionInfo_p = NULL;
@@ -406,7 +406,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
} }
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (pmch_InfoList_r9_pP != NULL) { if (pmch_InfoList_r9_pP != NULL) {
for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) { for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) {
@@ -553,14 +553,14 @@ rlc_op_status_t rrc_rlc_remove_rlc (
hash_key_t key_lcid = HASHTABLE_NOT_A_KEY_VALUE; hash_key_t key_lcid = HASHTABLE_NOT_A_KEY_VALUE;
hashtable_rc_t h_lcid_rc; hashtable_rc_t h_lcid_rc;
rlc_union_t *rlc_union_p = NULL; rlc_union_t *rlc_union_p = NULL;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
rlc_mbms_id_t *mbms_id_p = NULL; rlc_mbms_id_t *mbms_id_p = NULL;
#endif #endif
/* for no gcc warnings */ /* for no gcc warnings */
(void)lcid; (void)lcid;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (MBMS_flagP == TRUE) { if (MBMS_flagP == TRUE) {
if (ctxt_pP->enb_flag) { if (ctxt_pP->enb_flag) {
@@ -660,7 +660,7 @@ rlc_union_t* rrc_rlc_add_rlc (
hash_key_t key_lcid = HASHTABLE_NOT_A_KEY_VALUE; hash_key_t key_lcid = HASHTABLE_NOT_A_KEY_VALUE;
hashtable_rc_t h_lcid_rc; hashtable_rc_t h_lcid_rc;
rlc_union_t *rlc_union_p = NULL; rlc_union_t *rlc_union_p = NULL;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
rlc_mbms_id_t *mbms_id_p = NULL; rlc_mbms_id_t *mbms_id_p = NULL;
logical_chan_id_t lcid = 0; logical_chan_id_t lcid = 0;
#endif #endif
@@ -671,7 +671,7 @@ rlc_union_t* rrc_rlc_add_rlc (
AssertFatal (chan_idP < RLC_MAX_LC, "LC id is too high (%u/%d)!\n", chan_idP, RLC_MAX_LC); AssertFatal (chan_idP < RLC_MAX_LC, "LC id is too high (%u/%d)!\n", chan_idP, RLC_MAX_LC);
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (MBMS_flagP == TRUE) { if (MBMS_flagP == TRUE) {
if (ctxt_pP->enb_flag) { if (ctxt_pP->enb_flag) {
@@ -717,7 +717,7 @@ rlc_union_t* rrc_rlc_add_rlc (
h_lcid_rc = hashtable_insert(rlc_coll_p, key_lcid, rlc_union_p); h_lcid_rc = hashtable_insert(rlc_coll_p, key_lcid, rlc_union_p);
if ((h_rc == HASH_TABLE_OK) && (h_lcid_rc == HASH_TABLE_OK)) { if ((h_rc == HASH_TABLE_OK) && (h_lcid_rc == HASH_TABLE_OK)) {
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (MBMS_flagP == TRUE) { if (MBMS_flagP == TRUE) {
LOG_I(RLC, PROTOCOL_CTXT_FMT" RLC service id %u session id %u rrc_rlc_add_rlc\n", LOG_I(RLC, PROTOCOL_CTXT_FMT" RLC service id %u session id %u rrc_rlc_add_rlc\n",
+2 -2
View File
@@ -33,13 +33,13 @@ void handle_rach(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.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.timing_advance,
UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.rnti UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.rnti
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0 ,0
#endif #endif
); );
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (UL_info->rach_ind_br.rach_indication_body.number_of_preambles>0) { 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"); AssertFatal(UL_info->rach_ind_br.rach_indication_body.number_of_preambles<5,"More than 4 preambles not supported\n");
+1 -1
View File
@@ -76,7 +76,7 @@ typedef struct{
/// RACH indication list /// RACH indication list
nfapi_rach_indication_t rach_ind; nfapi_rach_indication_t rach_ind;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// RACH indication list for BR UEs /// RACH indication list for BR UEs
nfapi_rach_indication_t rach_ind_br; nfapi_rach_indication_t rach_ind_br;
#endif #endif
+3 -3
View File
@@ -273,7 +273,7 @@ mac_rrc_data_req(
return (Sdu_size); return (Sdu_size);
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if((Srb_id & RAB_OFFSET) == MCCH) { if((Srb_id & RAB_OFFSET) == MCCH) {
if(RC.rrc[Mod_idP]->carrier[CC_id].MCCH_MESS[mbsfn_sync_area].Active==0) { if(RC.rrc[Mod_idP]->carrier[CC_id].MCCH_MESS[mbsfn_sync_area].Active==0) {
@@ -326,9 +326,9 @@ mac_rrc_data_req(
//return(0); //return(0);
} }
#endif //Rel10 || Rel14 #endif // #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if ((Srb_id & RAB_OFFSET) == BCCH_SIB1_BR){ if ((Srb_id & RAB_OFFSET) == BCCH_SIB1_BR){
memcpy(&buffer_pP[0], memcpy(&buffer_pP[0],
RC.rrc[Mod_idP]->carrier[CC_id].SIB1_BR, RC.rrc[Mod_idP]->carrier[CC_id].SIB1_BR,
+2 -2
View File
@@ -221,7 +221,7 @@ mac_rrc_data_ind_ue(
} }
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if ((srb_idP & RAB_OFFSET) == MCCH) { if ((srb_idP & RAB_OFFSET) == MCCH) {
LOG_T(RRC,"[UE %d] Frame %d: Received SDU on MBSFN sync area %d for MCCH on SRB %d from eNB %d\n", LOG_T(RRC,"[UE %d] Frame %d: Received SDU on MBSFN sync area %d for MCCH on SRB %d from eNB %d\n",
@@ -257,7 +257,7 @@ mac_rrc_data_ind_ue(
decode_SL_Discovery_Message(&ctxt, eNB_indexP, sduP, sdu_lenP); decode_SL_Discovery_Message(&ctxt, eNB_indexP, sduP, sdu_lenP);
} }
#endif // Rel10 || Rel14 #endif // #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
return(0); return(0);
+17 -17
View File
@@ -52,7 +52,7 @@
#include "RRCConnectionSetup.h" #include "RRCConnectionSetup.h"
#include "SRB-ToAddModList.h" #include "SRB-ToAddModList.h"
#include "DRB-ToAddModList.h" #include "DRB-ToAddModList.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#include "MCCH-Message.h" #include "MCCH-Message.h"
//#define MRB1 1 //#define MRB1 1
#endif #endif
@@ -231,7 +231,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
mib->message.systemFrameNumber.size = 1; mib->message.systemFrameNumber.size = 1;
mib->message.systemFrameNumber.bits_unused=0; mib->message.systemFrameNumber.bits_unused=0;
mib->message.spare.buf = (uint8_t *)spare; mib->message.spare.buf = (uint8_t *)spare;
#ifndef Rel14 #if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
mib->message.spare.size = 2; mib->message.spare.size = 2;
mib->message.spare.bits_unused = 6; // This makes a spare of 10 bits mib->message.spare.bits_unused = 6; // This makes a spare of 10 bits
#else #else
@@ -569,7 +569,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part; struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part;
#if defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
//TTN - for D2D //TTN - for D2D
struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib18_part, *sib19_part, *sib21_part; struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib18_part, *sib19_part, *sib21_part;
SL_CommRxPoolList_r12_t *SL_CommRxPoolList; //for SIB18 SL_CommRxPoolList_r12_t *SL_CommRxPoolList; //for SIB18
@@ -581,7 +581,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
//struct SL_V2X_ConfigCommon_r14 *SL_V2X_ConfigCommon; //struct SL_V2X_ConfigCommon_r14 *SL_V2X_ConfigCommon;
#endif #endif
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part; struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part;
MBSFN_SubframeConfigList_t *MBSFNSubframeConfigList; MBSFN_SubframeConfigList_t *MBSFNSubframeConfigList;
MBSFN_AreaInfoList_r9_t *MBSFNArea_list; MBSFN_AreaInfoList_r9_t *MBSFNArea_list;
@@ -593,7 +593,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
BCCH_DL_SCH_Message_t *bcch_message = &RC.rrc[Mod_id]->carrier[CC_id].systemInformation; BCCH_DL_SCH_Message_t *bcch_message = &RC.rrc[Mod_id]->carrier[CC_id].systemInformation;
SystemInformationBlockType2_t **sib2 = &RC.rrc[Mod_id]->carrier[CC_id].sib2; SystemInformationBlockType2_t **sib2 = &RC.rrc[Mod_id]->carrier[CC_id].sib2;
SystemInformationBlockType3_t **sib3 = &RC.rrc[Mod_id]->carrier[CC_id].sib3; SystemInformationBlockType3_t **sib3 = &RC.rrc[Mod_id]->carrier[CC_id].sib3;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
SystemInformationBlockType13_r9_t **sib13 = &RC.rrc[Mod_id]->carrier[CC_id].sib13; SystemInformationBlockType13_r9_t **sib13 = &RC.rrc[Mod_id]->carrier[CC_id].sib13;
uint8_t MBMS_flag = RC.rrc[Mod_id]->carrier[CC_id].MBMS_flag; uint8_t MBMS_flag = RC.rrc[Mod_id]->carrier[CC_id].MBMS_flag;
#endif #endif
@@ -622,7 +622,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
exit(-1); exit(-1);
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
LOG_I(RRC,"[eNB %d] Configuration SIB2/3, MBMS = %d\n", Mod_id, MBMS_flag); LOG_I(RRC,"[eNB %d] Configuration SIB2/3, MBMS = %d\n", Mod_id, MBMS_flag);
#else #else
LOG_I(RRC,"[eNB %d] Configuration SIB2/3\n", Mod_id); LOG_I(RRC,"[eNB %d] Configuration SIB2/3\n", Mod_id);
@@ -638,7 +638,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
*sib2 = &sib2_part->choice.sib2; *sib2 = &sib2_part->choice.sib2;
*sib3 = &sib3_part->choice.sib3; *sib3 = &sib3_part->choice.sib3;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (MBMS_flag > 0) { if (MBMS_flag > 0) {
sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
@@ -672,7 +672,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
// sib2 // sib2
(*sib2)->ac_BarringInfo = NULL; (*sib2)->ac_BarringInfo = NULL;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#if 0 #if 0
(*sib2)->ssac_BarringForMMTEL_Voice_r9 = NULL; (*sib2)->ssac_BarringForMMTEL_Voice_r9 = NULL;
(*sib2)->ssac_BarringForMMTEL_Video_r9 = NULL; (*sib2)->ssac_BarringForMMTEL_Video_r9 = NULL;
@@ -761,7 +761,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
= configuration->pucch_nRB_CQI[CC_id]; = configuration->pucch_nRB_CQI[CC_id];
(*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN
= configuration->pucch_nCS_AN[CC_id]; = configuration->pucch_nCS_AN[CC_id];
#if !defined(Rel10) && !defined(Rel14) #if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
(*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN
= configuration->pucch_n1_AN[CC_id]; = configuration->pucch_n1_AN[CC_id];
#endif #endif
@@ -919,7 +919,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
(*sib2)->freqInfo.ul_Bandwidth = NULL; (*sib2)->freqInfo.ul_Bandwidth = NULL;
// (*sib2)->mbsfn_SubframeConfigList = NULL; // (*sib2)->mbsfn_SubframeConfigList = NULL;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (MBMS_flag > 0) { if (MBMS_flag > 0) {
LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2\n"); LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2\n");
@@ -968,7 +968,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
(*sib2)->timeAlignmentTimerCommon=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120; (*sib2)->timeAlignmentTimerCommon=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120;
/// (*SIB3) /// (*SIB3)
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(*sib3)->ext1 = NULL; (*sib3)->ext1 = NULL;
#if 0 #if 0
(*sib3)->s_IntraSearch_v920=NULL; (*sib3)->s_IntraSearch_v920=NULL;
@@ -1003,7 +1003,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
// SIB13 // SIB13
// fill in all elements of SIB13 if present // fill in all elements of SIB13 if present
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (MBMS_flag > 0 ) { if (MBMS_flag > 0 ) {
// Notification for mcch change // Notification for mcch change
@@ -1370,7 +1370,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
sib2_part); sib2_part);
ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,
sib3_part); sib3_part);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (MBMS_flag > 0) { if (MBMS_flag > 0) {
ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,sib13_part); ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,sib13_part);
@@ -2004,7 +2004,7 @@ do_RRCConnectionSetup(
// CQI ReportConfig // CQI ReportConfig
physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic)); physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic));
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic= CQI_ReportModeAperiodic_rm30; *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic= CQI_ReportModeAperiodic_rm30;
#else #else
*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI
@@ -2394,7 +2394,7 @@ do_RRCConnectionReconfiguration(
*dedicatedInfoNASList, *dedicatedInfoNASList,
SL_CommConfig_r12_t *sl_CommConfig, SL_CommConfig_r12_t *sl_CommConfig,
SL_DiscConfig_r12_t *sl_DiscConfig SL_DiscConfig_r12_t *sl_DiscConfig
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, SCellToAddMod_r10_t *SCell_config , SCellToAddMod_r10_t *SCell_config
#endif #endif
@@ -2931,7 +2931,7 @@ uint8_t do_RRCConnectionRelease(
uint8_t TMGI[5] = {4,3,2,1,0};//TMGI is a string of octet, ref. TS 24.008 fig. 10.5.4a uint8_t TMGI[5] = {4,3,2,1,0};//TMGI is a string of octet, ref. TS 24.008 fig. 10.5.4a
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
uint8_t do_MBSFNAreaConfig(uint8_t Mod_id, uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
uint8_t sync_area, uint8_t sync_area,
uint8_t *buffer, uint8_t *buffer,
@@ -3103,7 +3103,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
sizeof(*measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.nonCriticalExtension)); sizeof(*measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.nonCriticalExtension));
measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measId=measid; measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measId=measid;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrpResult=rsrp_s; measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrpResult=rsrp_s;
measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrqResult=rsrq_s; measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrqResult=rsrq_s;
#else #else
+2 -2
View File
@@ -198,7 +198,7 @@ do_RRCConnectionReconfiguration(
struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList* dedicatedInfoNASList, struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList* dedicatedInfoNASList,
SL_CommConfig_r12_t *sl_CommConfig, SL_CommConfig_r12_t *sl_CommConfig,
SL_DiscConfig_r12_t *sl_DiscConfig SL_DiscConfig_r12_t *sl_DiscConfig
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, SCellToAddMod_r10_t *SCell_config , SCellToAddMod_r10_t *SCell_config
#endif #endif
); );
@@ -261,7 +261,7 @@ uint8_t do_RRCConnectionRelease(uint8_t Mod_id, uint8_t *buffer,int Transaction_
* @returns Size of encoded bit stream in bytes * @returns Size of encoded bit stream in bytes
*/ */
uint8_t do_MCCHMessage(uint8_t *buffer); uint8_t do_MCCHMessage(uint8_t *buffer);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
/*** /***
* \brief Generate an MCCH-Message (eNB). This routine configures MBSFNAreaConfiguration (PMCH-InfoList and Subframe Allocation for MBMS data) * \brief Generate an MCCH-Message (eNB). This routine configures MBSFNAreaConfiguration (PMCH-InfoList and Subframe Allocation for MBMS data)
* @param buffer Pointer to PER-encoded ASN.1 description of MCCH-Message PDU * @param buffer Pointer to PER-encoded ASN.1 description of MCCH-Message PDU
+2 -2
View File
@@ -122,7 +122,7 @@ typedef struct UE_RRC_INFO_NB_IoT_s {
uint8_t SIB1systemInfoValueTag; uint8_t SIB1systemInfoValueTag;
uint32_t SIStatus; uint32_t SIStatus;
uint32_t SIcnt; uint32_t SIcnt;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
uint8_t MCCHStatus[8]; // MAX_MBSFN_AREA uint8_t MCCHStatus[8]; // MAX_MBSFN_AREA
#endif #endif
uint8_t SIwindowsize; //!< Corresponds to the SIB1 si-WindowLength parameter. The unit is ms. Possible values are (final): 1,2,5,10,15,20,40 uint8_t SIwindowsize; //!< Corresponds to the SIB1 si-WindowLength parameter. The unit is ms. Possible values are (final): 1,2,5,10,15,20,40
@@ -513,7 +513,7 @@ typedef struct UE_RRC_INST_NB_IoT_s {
SystemInformationBlockType10_t *sib10[NB_CNX_UE]; SystemInformationBlockType10_t *sib10[NB_CNX_UE];
SystemInformationBlockType11_t *sib11[NB_CNX_UE]; SystemInformationBlockType11_t *sib11[NB_CNX_UE];
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
uint8_t MBMS_flag; uint8_t MBMS_flag;
uint8_t *MCCH_MESSAGE[NB_CNX_UE]; uint8_t *MCCH_MESSAGE[NB_CNX_UE];
uint8_t sizeof_MCCH_MESSAGE[NB_CNX_UE]; uint8_t sizeof_MCCH_MESSAGE[NB_CNX_UE];
+47 -44
View File
@@ -54,7 +54,7 @@
#include "DL-DCCH-Message.h" #include "DL-DCCH-Message.h"
#include "BCCH-DL-SCH-Message.h" #include "BCCH-DL-SCH-Message.h"
#include "PCCH-Message.h" #include "PCCH-Message.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#include "MCCH-Message.h" #include "MCCH-Message.h"
#endif #endif
#include "MeasConfig.h" #include "MeasConfig.h"
@@ -146,7 +146,7 @@ static uint8_t check_trigger_meas_event(
Q_OffsetRange_t ofn, Q_OffsetRange_t ocn, Hysteresis_t hys, Q_OffsetRange_t ofn, Q_OffsetRange_t ocn, Hysteresis_t hys,
Q_OffsetRange_t ofs, Q_OffsetRange_t ocs, long a3_offset, TimeToTrigger_t ttt); Q_OffsetRange_t ofs, Q_OffsetRange_t ocs, long a3_offset, TimeToTrigger_t ttt);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
static void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_index, frame_t frameP,uint8_t mbsfn_sync_area); static void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_index, frame_t frameP,uint8_t mbsfn_sync_area);
uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,SL_DestinationInfoList_r12_t *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode); uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,SL_DestinationInfoList_r12_t *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode);
#endif #endif
@@ -282,7 +282,7 @@ static void init_SI_UE( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
UE_rrc_inst[ctxt_pP->module_id].sib9[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType9_t) ); UE_rrc_inst[ctxt_pP->module_id].sib9[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType9_t) );
UE_rrc_inst[ctxt_pP->module_id].sib10[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType10_t) ); UE_rrc_inst[ctxt_pP->module_id].sib10[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType10_t) );
UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType11_t) ); UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType11_t) );
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
UE_rrc_inst[ctxt_pP->module_id].sib12[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType12_r9_t) ); UE_rrc_inst[ctxt_pP->module_id].sib12[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType12_r9_t) );
UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType13_r9_t) ); UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType13_r9_t) );
UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType18_r12_t) ); UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType18_r12_t) );
@@ -298,7 +298,7 @@ static void init_SI_UE( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIcnt = 0; UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIcnt = 0;
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index ) void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
{ {
LOG_I(RRC,"Initializing Sidelink Pre-configuration for UE\n"); LOG_I(RRC,"Initializing Sidelink Pre-configuration for UE\n");
@@ -472,7 +472,7 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
#endif #endif
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#if 0 #if 0
void init_MCCH_UE(module_id_t ue_mod_idP, uint8_t eNB_index) void init_MCCH_UE(module_id_t ue_mod_idP, uint8_t eNB_index)
@@ -533,7 +533,7 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
UE_rrc_inst[ctxt.module_id].Srb2[eNB_index].Active=0; UE_rrc_inst[ctxt.module_id].Srb2[eNB_index].Active=0;
UE_rrc_inst[ctxt.module_id].HandoverInfoUe.measFlag=1; UE_rrc_inst[ctxt.module_id].HandoverInfoUe.measFlag=1;
UE_rrc_inst[ctxt.module_id].ciphering_algorithm = CipheringAlgorithm_r12_eea0; UE_rrc_inst[ctxt.module_id].ciphering_algorithm = CipheringAlgorithm_r12_eea0;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 2, 0))
UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920; UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920;
#else #else
UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_reserved; UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_reserved;
@@ -1066,7 +1066,7 @@ rrc_ue_process_measConfig(
rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index, rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
(RadioResourceConfigCommonSIB_t *)NULL, (RadioResourceConfigCommonSIB_t *)NULL,
(struct PhysicalConfigDedicated *)NULL, (struct PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
#endif #endif
@@ -1083,7 +1083,7 @@ rrc_ue_process_measConfig(
NULL, NULL,
NULL, NULL,
NULL NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,0, ,0,
(MBSFN_AreaInfoList_r9_t *)NULL, (MBSFN_AreaInfoList_r9_t *)NULL,
(PMCH_InfoList_r9_t *)NULL (PMCH_InfoList_r9_t *)NULL
@@ -1534,7 +1534,7 @@ rrc_ue_process_radioResourceConfigDedicated(
kRRCenc, kRRCenc,
kRRCint, kRRCint,
NULL NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,(PMCH_InfoList_r9_t *)NULL ,(PMCH_InfoList_r9_t *)NULL
#endif #endif
,NULL); ,NULL);
@@ -1544,7 +1544,7 @@ rrc_ue_process_radioResourceConfigDedicated(
radioResourceConfigDedicated->srb_ToAddModList, radioResourceConfigDedicated->srb_ToAddModList,
(DRB_ToAddModList_t*)NULL, (DRB_ToAddModList_t*)NULL,
(DRB_ToReleaseList_t*)NULL (DRB_ToReleaseList_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,(PMCH_InfoList_r9_t *)NULL ,(PMCH_InfoList_r9_t *)NULL
, 0, 0 , 0, 0
#endif #endif
@@ -1585,7 +1585,7 @@ rrc_ue_process_radioResourceConfigDedicated(
rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index, rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
(RadioResourceConfigCommonSIB_t *)NULL, (RadioResourceConfigCommonSIB_t *)NULL,
UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index], UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
#endif #endif
@@ -1602,7 +1602,7 @@ rrc_ue_process_radioResourceConfigDedicated(
NULL, NULL,
NULL, NULL,
NULL NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
0, 0,
(MBSFN_AreaInfoList_r9_t *)NULL, (MBSFN_AreaInfoList_r9_t *)NULL,
@@ -1649,7 +1649,7 @@ rrc_ue_process_radioResourceConfigDedicated(
rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index, rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
(RadioResourceConfigCommonSIB_t *)NULL, (RadioResourceConfigCommonSIB_t *)NULL,
UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index], UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
#endif #endif
@@ -1666,7 +1666,7 @@ rrc_ue_process_radioResourceConfigDedicated(
NULL, NULL,
NULL, NULL,
NULL NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
0, 0,
(MBSFN_AreaInfoList_r9_t *)NULL, (MBSFN_AreaInfoList_r9_t *)NULL,
@@ -1729,7 +1729,7 @@ rrc_ue_process_radioResourceConfigDedicated(
NULL, NULL,
NULL, NULL,
kUPenc kUPenc
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,(PMCH_InfoList_r9_t *)NULL ,(PMCH_InfoList_r9_t *)NULL
#endif #endif
, UE_rrc_inst[ctxt_pP->module_id].defaultDRB); , UE_rrc_inst[ctxt_pP->module_id].defaultDRB);
@@ -1739,7 +1739,7 @@ rrc_ue_process_radioResourceConfigDedicated(
(SRB_ToAddModList_t*)NULL, (SRB_ToAddModList_t*)NULL,
radioResourceConfigDedicated->drb_ToAddModList, radioResourceConfigDedicated->drb_ToAddModList,
(DRB_ToReleaseList_t*)NULL (DRB_ToReleaseList_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,(PMCH_InfoList_r9_t *)NULL ,(PMCH_InfoList_r9_t *)NULL
, 0, 0 , 0, 0
#endif #endif
@@ -1764,7 +1764,7 @@ rrc_ue_process_radioResourceConfigDedicated(
rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index, rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
(RadioResourceConfigCommonSIB_t *)NULL, (RadioResourceConfigCommonSIB_t *)NULL,
UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index], UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
#endif #endif
@@ -1781,7 +1781,7 @@ rrc_ue_process_radioResourceConfigDedicated(
NULL, NULL,
NULL, NULL,
NULL NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
0, 0,
(MBSFN_AreaInfoList_r9_t *)NULL, (MBSFN_AreaInfoList_r9_t *)NULL,
@@ -2324,7 +2324,7 @@ rrc_ue_process_mobilityControlInfo(
NULL, // key rrc encryption NULL, // key rrc encryption
NULL, // key rrc integrity NULL, // key rrc integrity
NULL // key encryption NULL // key encryption
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
,NULL ,NULL
#endif #endif
,NULL); ,NULL);
@@ -2333,7 +2333,7 @@ rrc_ue_process_mobilityControlInfo(
NULL,// SRB_ToAddModList NULL,// SRB_ToAddModList
NULL,// DRB_ToAddModList NULL,// DRB_ToAddModList
drb2release_list // DRB_ToReleaseList drb2release_list // DRB_ToReleaseList
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
,NULL ,NULL
#endif #endif
,NULL); ,NULL);
@@ -2368,7 +2368,7 @@ rrc_ue_process_mobilityControlInfo(
eNB_index, eNB_index,
(RadioResourceConfigCommonSIB_t *)NULL, (RadioResourceConfigCommonSIB_t *)NULL,
(struct PhysicalConfigDedicated *)NULL, (struct PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -2385,7 +2385,7 @@ rrc_ue_process_mobilityControlInfo(
NULL, NULL,
NULL, NULL,
NULL NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,0, ,0,
(MBSFN_AreaInfoList_r9_t *)NULL, (MBSFN_AreaInfoList_r9_t *)NULL,
(PMCH_InfoList_r9_t *)NULL (PMCH_InfoList_r9_t *)NULL
@@ -2761,11 +2761,11 @@ rrc_ue_decode_dcch(
case DL_DCCH_MessageType__c1_PR_counterCheck: case DL_DCCH_MessageType__c1_PR_counterCheck:
break; break;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
case DL_DCCH_MessageType__c1_PR_ueInformationRequest_r9: case DL_DCCH_MessageType__c1_PR_ueInformationRequest_r9:
break; break;
#endif
#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
case DL_DCCH_MessageType__c1_PR_loggedMeasurementConfiguration_r10: case DL_DCCH_MessageType__c1_PR_loggedMeasurementConfiguration_r10:
break; break;
@@ -2776,7 +2776,7 @@ rrc_ue_decode_dcch(
case DL_DCCH_MessageType__c1_PR_spare1: case DL_DCCH_MessageType__c1_PR_spare1:
case DL_DCCH_MessageType__c1_PR_spare2: case DL_DCCH_MessageType__c1_PR_spare2:
case DL_DCCH_MessageType__c1_PR_spare3: case DL_DCCH_MessageType__c1_PR_spare3:
#if !defined(Rel14) #if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
case DL_DCCH_MessageType__c1_PR_spare4: case DL_DCCH_MessageType__c1_PR_spare4:
#endif #endif
break; break;
@@ -3254,7 +3254,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index, rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index,
(RadioResourceConfigCommonSIB_t *)NULL, (RadioResourceConfigCommonSIB_t *)NULL,
(struct PhysicalConfigDedicated *)NULL, (struct PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -3271,7 +3271,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
NULL, NULL,
NULL, NULL,
(MBSFN_SubframeConfigList_t *)NULL (MBSFN_SubframeConfigList_t *)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,0, ,0,
(MBSFN_AreaInfoList_r9_t *)NULL, (MBSFN_AreaInfoList_r9_t *)NULL,
(PMCH_InfoList_r9_t *)NULL (PMCH_InfoList_r9_t *)NULL
@@ -3535,7 +3535,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
LOG_I( RRC, "radioResourceConfigCommon.ul_CyclicPrefixLength : %ld\n", LOG_I( RRC, "radioResourceConfigCommon.ul_CyclicPrefixLength : %ld\n",
sib2->radioResourceConfigCommon.ul_CyclicPrefixLength ); sib2->radioResourceConfigCommon.ul_CyclicPrefixLength );
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 2, 0))
// UplinkPowerControlCommon_v1020 // UplinkPowerControlCommon_v1020
// ... // ...
#endif #endif
@@ -3567,13 +3567,14 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
LOG_I( RRC, "timeAlignmentTimerCommon : %ld\n", sib2->timeAlignmentTimerCommon ); LOG_I( RRC, "timeAlignmentTimerCommon : %ld\n", sib2->timeAlignmentTimerCommon );
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
if (sib2->lateNonCriticalExtension) { if (sib2->lateNonCriticalExtension) {
LOG_I( RRC, "lateNonCriticalExtension : %p\n", sib2->lateNonCriticalExtension ); LOG_I( RRC, "lateNonCriticalExtension : %p\n", sib2->lateNonCriticalExtension );
} else } else
LOG_I( RRC, "lateNonCriticalExtension : not defined\n" ); LOG_I( RRC, "lateNonCriticalExtension : not defined\n" );
#endif
#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
if (sib2->ext1 && sib2->ext1->ssac_BarringForMMTEL_Voice_r9) { if (sib2->ext1 && sib2->ext1->ssac_BarringForMMTEL_Voice_r9) {
LOG_I( RRC, "ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor : %ld\n", LOG_I( RRC, "ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor : %ld\n",
sib2->ext1->ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor ); sib2->ext1->ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor );
@@ -3593,7 +3594,9 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
BIT_STRING_to_uint32(&sib2->ext1->ssac_BarringForMMTEL_Video_r9->ac_BarringForSpecialAC) ); BIT_STRING_to_uint32(&sib2->ext1->ssac_BarringForMMTEL_Video_r9->ac_BarringForSpecialAC) );
} else } else
LOG_I( RRC, "ssac_BarringForMMTEL_Video_r9 : not defined\n" ); LOG_I( RRC, "ssac_BarringForMMTEL_Video_r9 : not defined\n" );
#endif
#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (sib2->ext2 && sib2->ext2->ac_BarringForCSFB_r10) { if (sib2->ext2 && sib2->ext2->ac_BarringForCSFB_r10) {
LOG_I( RRC, "ac_BarringForCSFB_r10->ac_BarringFactor : %ld\n", LOG_I( RRC, "ac_BarringForCSFB_r10->ac_BarringFactor : %ld\n",
sib2->ext2->ac_BarringForCSFB_r10->ac_BarringFactor ); sib2->ext2->ac_BarringForCSFB_r10->ac_BarringFactor );
@@ -3836,7 +3839,7 @@ uint64_t arfcn_to_freq(long arfcn) {
} }
} }
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
if (ifcfInfo->ext1 && ifcfInfo->ext1->q_QualMin_r9) if (ifcfInfo->ext1 && ifcfInfo->ext1->q_QualMin_r9)
LOG_I(RRC," Q_QualMin_r9 : %ld\n",*ifcfInfo->ext1->q_QualMin_r9); LOG_I(RRC," Q_QualMin_r9 : %ld\n",*ifcfInfo->ext1->q_QualMin_r9);
@@ -3849,7 +3852,7 @@ uint64_t arfcn_to_freq(long arfcn) {
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
void dump_sib13( SystemInformationBlockType13_r9_t *sib13 ) void dump_sib13( SystemInformationBlockType13_r9_t *sib13 )
{ {
LOG_I( RRC, "[UE] Dumping SIB13\n" ); LOG_I( RRC, "[UE] Dumping SIB13\n" );
@@ -3952,7 +3955,7 @@ uint64_t arfcn_to_freq(long arfcn) {
rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index, rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index,
&UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->radioResourceConfigCommon, &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->radioResourceConfigCommon,
(struct PhysicalConfigDedicated *)NULL, (struct PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
#endif #endif
(MeasObjectToAddMod_t **)NULL, (MeasObjectToAddMod_t **)NULL,
@@ -3968,7 +3971,7 @@ uint64_t arfcn_to_freq(long arfcn) {
UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.ul_Bandwidth, UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.ul_Bandwidth,
&UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.additionalSpectrumEmission, &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.additionalSpectrumEmission,
UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->mbsfn_SubframeConfigList UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->mbsfn_SubframeConfigList
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
,0, ,0,
(MBSFN_AreaInfoList_r9_t *)NULL, (MBSFN_AreaInfoList_r9_t *)NULL,
(PMCH_InfoList_r9_t *)NULL (PMCH_InfoList_r9_t *)NULL
@@ -3986,7 +3989,7 @@ uint64_t arfcn_to_freq(long arfcn) {
#endif #endif
); );
// After SI is received, prepare RRCConnectionRequest // After SI is received, prepare RRCConnectionRequest
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (UE_rrc_inst[ctxt_pP->module_id].MBMS_flag < 3) // see -Q option if (UE_rrc_inst[ctxt_pP->module_id].MBMS_flag < 3) // see -Q option
#endif #endif
@@ -4118,7 +4121,7 @@ uint64_t arfcn_to_freq(long arfcn) {
} }
break; break;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 2, 0))
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920: case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920:
if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2048) == 0) { if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2048) == 0) {
@@ -4587,7 +4590,7 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
return 0; return 0;
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t* const Sdu, const uint8_t Sdu_len, const uint8_t mbsfn_sync_area ) int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t* const Sdu, const uint8_t Sdu_len, const uint8_t mbsfn_sync_area )
{ {
@@ -4662,7 +4665,7 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
rrc_mac_config_req_ue(ue_mod_idP,0,eNB_index, rrc_mac_config_req_ue(ue_mod_idP,0,eNB_index,
(RadioResourceConfigCommonSIB_t *)NULL, (RadioResourceConfigCommonSIB_t *)NULL,
(struct PhysicalConfigDedicated *)NULL, (struct PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -4679,7 +4682,7 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
NULL, NULL,
NULL, NULL,
(MBSFN_SubframeConfigList_t *)NULL (MBSFN_SubframeConfigList_t *)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
0, 0,
(MBSFN_AreaInfoList_r9_t *)NULL, (MBSFN_AreaInfoList_r9_t *)NULL,
@@ -4712,7 +4715,7 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
NULL, // key rrc encryption NULL, // key rrc encryption
NULL, // key rrc integrity NULL, // key rrc integrity
NULL // key encryption NULL // key encryption
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
,&(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9) ,&(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9)
#endif #endif
,NULL); ,NULL);
@@ -4721,7 +4724,7 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
NULL,// SRB_ToAddModList NULL,// SRB_ToAddModList
NULL,// DRB_ToAddModList NULL,// DRB_ToAddModList
NULL,// DRB_ToReleaseList NULL,// DRB_ToReleaseList
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
&(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9) &(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9)
, 0, 0 , 0, 0
#endif #endif
@@ -4826,7 +4829,7 @@ void *rrc_ue_task( void *args_p )
RRC_MAC_CCCH_DATA_IND (msg_p).enb_index); RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
break; break;
# if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
case RRC_MAC_MCCH_DATA_IND: case RRC_MAC_MCCH_DATA_IND:
LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d, mbsfn SA %d\n", ue_mod_id, msg_name, LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d, mbsfn SA %d\n", ue_mod_id, msg_name,
@@ -5258,7 +5261,7 @@ openair_rrc_top_init_ue(
UE_rrc_inst[module_id].UECapability_size = UECap->sdu_size; UE_rrc_inst[module_id].UECapability_size = UECap->sdu_size;
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
LOG_I(RRC,"[UE] eMBMS active state is %d \n", eMBMS_active); LOG_I(RRC,"[UE] eMBMS active state is %d \n", eMBMS_active);
for (module_id=0; module_id<NB_UE_INST; module_id++) { for (module_id=0; module_id<NB_UE_INST; module_id++) {
+12 -10
View File
@@ -181,9 +181,11 @@ void *send_UE_status_notification(void *);
#include "BCCH-DL-SCH-Message.h" #include "BCCH-DL-SCH-Message.h"
#include "SBCCH-SL-BCH-MessageType.h" #include "SBCCH-SL-BCH-MessageType.h"
#include "BCCH-BCH-Message.h" #include "BCCH-BCH-Message.h"
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
#include "MCCH-Message.h" #include "MCCH-Message.h"
#include "MBSFNAreaConfiguration-r9.h" #include "MBSFNAreaConfiguration-r9.h"
#endif
#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#include "SCellToAddMod-r10.h" #include "SCellToAddMod-r10.h"
#endif #endif
#include "AS-Config.h" #include "AS-Config.h"
@@ -198,7 +200,7 @@ void *send_UE_status_notification(void *);
/* correct Rel(8|10)/Rel14 differences /* correct Rel(8|10)/Rel14 differences
* the code is in favor of Rel14, those defines do the translation * the code is in favor of Rel14, those defines do the translation
*/ */
#if !defined(Rel14) #if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
# define CipheringAlgorithm_r12_t e_SecurityAlgorithmConfig__cipheringAlgorithm # define CipheringAlgorithm_r12_t e_SecurityAlgorithmConfig__cipheringAlgorithm
# define CipheringAlgorithm_r12_eea0 SecurityAlgorithmConfig__cipheringAlgorithm_eea0 # define CipheringAlgorithm_r12_eea0 SecurityAlgorithmConfig__cipheringAlgorithm_eea0
# define CipheringAlgorithm_r12_eea1 SecurityAlgorithmConfig__cipheringAlgorithm_eea1 # define CipheringAlgorithm_r12_eea1 SecurityAlgorithmConfig__cipheringAlgorithm_eea1
@@ -247,7 +249,7 @@ void *send_UE_status_notification(void *);
#endif #endif
// This corrects something generated by asn1c which is different between Rel8 and Rel10 // This corrects something generated by asn1c which is different between Rel8 and Rel10
#if !defined(Rel10) && !defined(Rel14) #if (RRC_VERSION <= MAKE_VERSION(10, 0, 0))
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member SystemInformation_r8_IEs_sib_TypeAndInfo_Member #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member SystemInformation_r8_IEs_sib_TypeAndInfo_Member
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3
@@ -268,7 +270,7 @@ void *send_UE_status_notification(void *);
#define NB_CNX_UE 2//MAX_MANAGED_RG_PER_MOBILE #define NB_CNX_UE 2//MAX_MANAGED_RG_PER_MOBILE
/* /*
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib12_v920 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib12_v920
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib13_v920 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib13_v920
#endif #endif
@@ -403,7 +405,7 @@ typedef struct UE_RRC_INFO_s {
uint8_t SIB1systemInfoValueTag; uint8_t SIB1systemInfoValueTag;
uint32_t SIStatus; uint32_t SIStatus;
uint32_t SIcnt; uint32_t SIcnt;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
uint8_t MCCHStatus[8]; // MAX_MBSFN_AREA uint8_t MCCHStatus[8]; // MAX_MBSFN_AREA
#endif #endif
uint8_t SIwindowsize; //!< Corresponds to the SIB1 si-WindowLength parameter. The unit is ms. Possible values are (final): 1,2,5,10,15,20,40 uint8_t SIwindowsize; //!< Corresponds to the SIB1 si-WindowLength parameter. The unit is ms. Possible values are (final): 1,2,5,10,15,20,40
@@ -513,7 +515,7 @@ typedef struct HANDOVER_INFO_UE_s {
typedef struct eNB_RRC_UE_s { typedef struct eNB_RRC_UE_s {
uint8_t primaryCC_id; uint8_t primaryCC_id;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
SCellToAddMod_r10_t sCell_config[2]; SCellToAddMod_r10_t sCell_config[2];
#endif #endif
SRB_ToAddModList_t* SRB_configList; SRB_ToAddModList_t* SRB_configList;
@@ -627,7 +629,7 @@ typedef struct {
uint8_t sizeof_SIB1; uint8_t sizeof_SIB1;
uint8_t *SIB23; uint8_t *SIB23;
uint8_t sizeof_SIB23; uint8_t sizeof_SIB23;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint8_t *SIB1_BR; uint8_t *SIB1_BR;
uint8_t sizeof_SIB1_BR; uint8_t sizeof_SIB1_BR;
uint8_t *SIB23_BR; uint8_t *SIB23_BR;
@@ -646,12 +648,12 @@ typedef struct {
SystemInformationBlockType1_t *sib1; SystemInformationBlockType1_t *sib1;
SystemInformationBlockType2_t *sib2; SystemInformationBlockType2_t *sib2;
SystemInformationBlockType3_t *sib3; SystemInformationBlockType3_t *sib3;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
SystemInformationBlockType1_t *sib1_BR; SystemInformationBlockType1_t *sib1_BR;
SystemInformationBlockType2_t *sib2_BR; SystemInformationBlockType2_t *sib2_BR;
SystemInformationBlockType2_t *sib3_BR; SystemInformationBlockType2_t *sib3_BR;
#endif #endif
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
SystemInformationBlockType13_r9_t *sib13; SystemInformationBlockType13_r9_t *sib13;
uint8_t MBMS_flag; uint8_t MBMS_flag;
uint8_t num_mbsfn_sync_area; uint8_t num_mbsfn_sync_area;
@@ -779,7 +781,7 @@ typedef struct UE_RRC_INST_s {
SRB_INFO SL_Discovery[NB_CNX_UE]; SRB_INFO SL_Discovery[NB_CNX_UE];
#endif #endif
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
uint8_t MBMS_flag; uint8_t MBMS_flag;
uint8_t *MCCH_MESSAGE[NB_CNX_UE]; uint8_t *MCCH_MESSAGE[NB_CNX_UE];
uint8_t sizeof_MCCH_MESSAGE[NB_CNX_UE]; uint8_t sizeof_MCCH_MESSAGE[NB_CNX_UE];
+93 -89
View File
@@ -62,7 +62,7 @@
#include "T.h" #include "T.h"
//#if defined(Rel10) || defined(Rel14) //#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#include "MeasResults.h" #include "MeasResults.h"
//#endif //#endif
@@ -144,11 +144,11 @@ init_SI(
) )
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
{ {
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
int i; int i;
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 1, 0))
SystemInformationBlockType1_v1310_IEs_t *sib1_v13ext=(SystemInformationBlockType1_v1310_IEs_t *)NULL; SystemInformationBlockType1_v1310_IEs_t *sib1_v13ext=(SystemInformationBlockType1_v1310_IEs_t *)NULL;
#endif #endif
@@ -161,7 +161,7 @@ init_SI(
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Ncp = configuration->prefix_type[CC_id]; RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Ncp = configuration->prefix_type[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].dl_CarrierFreq = configuration->downlink_frequency[CC_id]; RC.rrc[ctxt_pP->module_id]->carrier[CC_id].dl_CarrierFreq = configuration->downlink_frequency[CC_id];
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].ul_CarrierFreq = configuration->downlink_frequency[CC_id]+ configuration->uplink_frequency_offset[CC_id]; RC.rrc[ctxt_pP->module_id]->carrier[CC_id].ul_CarrierFreq = configuration->downlink_frequency[CC_id]+ configuration->uplink_frequency_offset[CC_id];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].pbch_repetition = configuration->pbch_repetition[CC_id]; RC.rrc[ctxt_pP->module_id]->carrier[CC_id].pbch_repetition = configuration->pbch_repetition[CC_id];
#endif #endif
LOG_I(RRC, "Configuring MIB (N_RB_DL %d,phich_Resource %d,phich_Duration %d)\n", LOG_I(RRC, "Configuring MIB (N_RB_DL %d,phich_Resource %d,phich_Duration %d)\n",
@@ -242,7 +242,7 @@ init_SI(
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->radioResourceConfigCommon.pusch_ConfigCommon. RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->radioResourceConfigCommon.pusch_ConfigCommon.
ul_ReferenceSignalsPUSCH.cyclicShift); ul_ReferenceSignalsPUSCH.cyclicShift);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MBMS_flag > 0) { if (RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MBMS_flag > 0) {
for (i = 0; i < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList->list.count; i++) { for (i = 0; i < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList->list.count; i++) {
@@ -263,6 +263,7 @@ init_SI(
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationOffset); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationOffset);
} }
#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
// SIB13 // SIB13
for (i = 0; i < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.count; i++) { for (i = 0; i < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.count; i++) {
LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" SIB13 contents for MBSFN sync area %d/%d (partial)\n", LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" SIB13 contents for MBSFN sync area %d/%d (partial)\n",
@@ -276,6 +277,7 @@ init_SI(
PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), PROTOCOL_RRC_CTXT_ARGS(ctxt_pP),
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.array[i]->mcch_Config_r9.mcch_Offset_r9); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.array[i]->mcch_Config_r9.mcch_Offset_r9);
} }
#endif
} }
else memset((void*)&RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13,0,sizeof(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13)); else memset((void*)&RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13,0,sizeof(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13));
@@ -354,7 +356,7 @@ init_SI(
PROTOCOL_RRC_CTXT_FMT" RRC_UE --- MAC_CONFIG_REQ (SIB1.tdd & SIB2 params) ---> MAC_UE\n", PROTOCOL_RRC_CTXT_FMT" RRC_UE --- MAC_CONFIG_REQ (SIB1.tdd & SIB2 params) ---> MAC_UE\n",
PROTOCOL_RRC_CTXT_ARGS(ctxt_pP)); PROTOCOL_RRC_CTXT_ARGS(ctxt_pP));
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
if ((RC.rrc[ctxt_pP->module_id]->carrier[CC_id].mib.message.schedulingInfoSIB1_BR_r13>0) && if ((RC.rrc[ctxt_pP->module_id]->carrier[CC_id].mib.message.schedulingInfoSIB1_BR_r13>0) &&
(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR!=NULL)) { (RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR!=NULL)) {
AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension!=NULL, AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension!=NULL,
@@ -379,7 +381,7 @@ init_SI(
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Ncp, RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Ncp,
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1->freqBandIndicator, RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1->freqBandIndicator,
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].dl_CarrierFreq, RC.rrc[ctxt_pP->module_id]->carrier[CC_id].dl_CarrierFreq,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].pbch_repetition, RC.rrc[ctxt_pP->module_id]->carrier[CC_id].pbch_repetition,
#endif #endif
0, // rnti 0, // rnti
@@ -387,12 +389,12 @@ init_SI(
&RC.rrc[ctxt_pP->module_id]->carrier[CC_id].mib, &RC.rrc[ctxt_pP->module_id]->carrier[CC_id].mib,
(RadioResourceConfigCommonSIB_t *) & (RadioResourceConfigCommonSIB_t *) &
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->radioResourceConfigCommon, RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->radioResourceConfigCommon,
#if defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
(RadioResourceConfigCommonSIB_t *) & (RadioResourceConfigCommonSIB_t *) &
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2_BR->radioResourceConfigCommon, RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2_BR->radioResourceConfigCommon,
#endif #endif
(struct PhysicalConfigDedicated *)NULL, (struct PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -407,20 +409,20 @@ init_SI(
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->freqInfo.ul_Bandwidth, RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->freqInfo.ul_Bandwidth,
&RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->freqInfo.additionalSpectrumEmission, &RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->freqInfo.additionalSpectrumEmission,
(MBSFN_SubframeConfigList_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList (MBSFN_SubframeConfigList_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MBMS_flag, RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MBMS_flag,
(MBSFN_AreaInfoList_r9_t*) & RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9, (MBSFN_AreaInfoList_r9_t*) & RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9,
(PMCH_InfoList_r9_t *) NULL (PMCH_InfoList_r9_t *) NULL
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
, ,
sib1_v13ext sib1_v13ext
#endif #endif
); );
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
/*------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------*/
static void static void
init_MCCH( init_MCCH(
@@ -478,17 +480,17 @@ init_MCCH(
// LOG_I(RRC, "DUY: session ID is %d\n",RC.rrc[enb_mod_idP]->mcch_message->pmch_InfoList_r9.list.array[0]->mbms_SessionInfoList_r9.list.array[0]->sessionId_r9->buf[0]); // LOG_I(RRC, "DUY: session ID is %d\n",RC.rrc[enb_mod_idP]->mcch_message->pmch_InfoList_r9.list.array[0]->mbms_SessionInfoList_r9.list.array[0]->sessionId_r9->buf[0]);
rrc_mac_config_req_eNB(enb_mod_idP, CC_id, rrc_mac_config_req_eNB(enb_mod_idP, CC_id,
0,0,0,0,0, 0,0,0,0,0,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
0, 0,
#endif #endif
0,//rnti 0,//rnti
(BCCH_BCH_Message_t *)NULL, (BCCH_BCH_Message_t *)NULL,
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#endif #endif
(struct PhysicalConfigDedicated *)NULL, (struct PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -501,16 +503,16 @@ init_MCCH(
(MobilityControlInfo_t *)NULL, (MobilityControlInfo_t *)NULL,
(SchedulingInfoList_t *) NULL, (SchedulingInfoList_t *) NULL,
0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL 0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
0, 0,
(MBSFN_AreaInfoList_r9_t *) NULL, (MBSFN_AreaInfoList_r9_t *) NULL,
(PMCH_InfoList_r9_t *) & (RC.rrc[enb_mod_idP]->carrier[CC_id].mcch_message->pmch_InfoList_r9) (PMCH_InfoList_r9_t *) & (RC.rrc[enb_mod_idP]->carrier[CC_id].mcch_message->pmch_InfoList_r9)
# endif #endif
# ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
, ,
(SystemInformationBlockType1_v1310_IEs_t *)NULL (SystemInformationBlockType1_v1310_IEs_t *)NULL
# endif #endif
); );
//LOG_I(RRC,"DUY: lcid after rrc_mac_config_req is %02d\n",RC.rrc[enb_mod_idP]->mcch_message->pmch_InfoList_r9.list.array[0]->mbms_SessionInfoList_r9.list.array[0]->logicalChannelIdentity_r9); //LOG_I(RRC,"DUY: lcid after rrc_mac_config_req is %02d\n",RC.rrc[enb_mod_idP]->mcch_message->pmch_InfoList_r9.list.array[0]->mbms_SessionInfoList_r9.list.array[0]->logicalChannelIdentity_r9);
@@ -542,9 +544,9 @@ static void init_MBMS(
NULL, // key rrc encryption NULL, // key rrc encryption
NULL, // key rrc integrity NULL, // key rrc integrity
NULL // key encryption NULL // key encryption
# if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, &(RC.rrc[enb_mod_idP]->carrier[CC_id].mcch_message->pmch_InfoList_r9) , &(RC.rrc[enb_mod_idP]->carrier[CC_id].mcch_message->pmch_InfoList_r9)
# endif #endif
,NULL); ,NULL);
rrc_rlc_config_asn1_req(&ctxt, rrc_rlc_config_asn1_req(&ctxt,
@@ -770,7 +772,7 @@ rrc_eNB_free_mem_UE_context(
PROTOCOL_RRC_CTXT_UE_FMT" Clearing UE context 0x%p (free internal structs)\n", PROTOCOL_RRC_CTXT_UE_FMT" Clearing UE context 0x%p (free internal structs)\n",
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP), PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
ue_context_pP); ue_context_pP);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[0]); ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[0]);
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[1]); ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[1]);
#endif #endif
@@ -1244,17 +1246,17 @@ rrc_eNB_generate_RRCConnectionReestablishment(
rrc_mac_config_req_eNB(ctxt_pP->module_id, rrc_mac_config_req_eNB(ctxt_pP->module_id,
ue_context_pP->ue_context.primaryCC_id, ue_context_pP->ue_context.primaryCC_id,
0,0,0,0,0, 0,0,0,0,0,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
0, 0,
#endif #endif
ctxt_pP->rnti, ctxt_pP->rnti,
(BCCH_BCH_Message_t *) NULL, (BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#endif #endif
(struct PhysicalConfigDedicated* ) ue_context_pP->ue_context.physicalConfigDedicated, (struct PhysicalConfigDedicated* ) ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -1267,10 +1269,10 @@ rrc_eNB_generate_RRCConnectionReestablishment(
NULL, NULL,
(SchedulingInfoList_t *) NULL, (SchedulingInfoList_t *) NULL,
0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL 0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
#endif #endif
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
,(SystemInformationBlockType1_v1310_IEs_t *)NULL ,(SystemInformationBlockType1_v1310_IEs_t *)NULL
#endif #endif
); );
@@ -1828,7 +1830,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList, //dedicatedInfoNASList (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList, //dedicatedInfoNASList
(SL_CommConfig_r12_t*)NULL, (SL_CommConfig_r12_t*)NULL,
(SL_DiscConfig_r12_t*)NULL (SL_DiscConfig_r12_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, (SCellToAddMod_r10_t*)NULL , (SCellToAddMod_r10_t*)NULL
#endif #endif
); );
@@ -2265,7 +2267,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList, (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
(SL_CommConfig_r12_t*)NULL, (SL_CommConfig_r12_t*)NULL,
(SL_DiscConfig_r12_t*)NULL (SL_DiscConfig_r12_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, (SCellToAddMod_r10_t*)NULL , (SCellToAddMod_r10_t*)NULL
#endif #endif
); );
@@ -2535,7 +2537,7 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList, (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
(SL_CommConfig_r12_t*)NULL, (SL_CommConfig_r12_t*)NULL,
(SL_DiscConfig_r12_t*)NULL (SL_DiscConfig_r12_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, (SCellToAddMod_r10_t*)NULL , (SCellToAddMod_r10_t*)NULL
#endif #endif
); );
@@ -2660,7 +2662,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release( const protocol_
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList, (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
(SL_CommConfig_r12_t*)NULL, (SL_CommConfig_r12_t*)NULL,
(SL_DiscConfig_r12_t*)NULL (SL_DiscConfig_r12_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, (SCellToAddMod_r10_t*)NULL , (SCellToAddMod_r10_t*)NULL
#endif #endif
); );
@@ -2755,7 +2757,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
*ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5; *ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5;
MeasIdToAddModList_t *MeasId_list = NULL; MeasIdToAddModList_t *MeasId_list = NULL;
MeasIdToAddMod_t *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5; MeasIdToAddMod_t *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
long *sr_ProhibitTimer_r9 = NULL; long *sr_ProhibitTimer_r9 = NULL;
// uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1); // uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
//uint8_t sCellIndexToAdd = 0; //uint8_t sCellIndexToAdd = 0;
@@ -2975,7 +2977,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1; // Value dB1 =1 dB, dB3 = 3 dB mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1; // Value dB1 =1 dB, dB3 = 3 dB
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long)); sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long));
*sr_ProhibitTimer_r9 = 0; // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR *sr_ProhibitTimer_r9 = 0; // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR
mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1)); mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
@@ -3042,7 +3044,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
//feedback mode needs to be set as well //feedback mode needs to be set as well
//TODO: I think this is taken into account in the PHY automatically based on the transmission mode variable //TODO: I think this is taken into account in the PHY automatically based on the transmission mode variable
printf("setting cqi reporting mode to rm31\n"); printf("setting cqi reporting mode to rm31\n");
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportModeAperiodic_rm31; *((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportModeAperiodic_rm31;
#else #else
*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI *((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI
@@ -3390,7 +3392,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList, (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
(SL_CommConfig_r12_t*)NULL, (SL_CommConfig_r12_t*)NULL,
(SL_DiscConfig_r12_t*)NULL (SL_DiscConfig_r12_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, (SCellToAddMod_r10_t*)NULL , (SCellToAddMod_r10_t*)NULL
#endif #endif
); );
@@ -3776,7 +3778,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
//feedback mode needs to be set as well //feedback mode needs to be set as well
//TODO: I think this is taken into account in the PHY automatically based on the transmission mode variable //TODO: I think this is taken into account in the PHY automatically based on the transmission mode variable
printf("setting cqi reporting mode to rm31\n"); printf("setting cqi reporting mode to rm31\n");
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportModeAperiodic_rm31; *((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportModeAperiodic_rm31;
#else #else
*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI *((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI
@@ -3982,7 +3984,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList, (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
(SL_CommConfig_r12_t*)NULL, (SL_CommConfig_r12_t*)NULL,
(SL_DiscConfig_r12_t*)NULL (SL_DiscConfig_r12_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, (SCellToAddMod_r10_t*)NULL , (SCellToAddMod_r10_t*)NULL
#endif #endif
); );
@@ -4052,7 +4054,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
uint8_t size; uint8_t size;
uint8_t buffer[100]; uint8_t buffer[100];
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
uint8_t sCellIndexToAdd = 0; //one SCell so far uint8_t sCellIndexToAdd = 0; //one SCell so far
// uint8_t sCellIndexToAdd; // uint8_t sCellIndexToAdd;
@@ -4088,7 +4090,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
(SL_CommConfig_r12_t*)NULL, (SL_CommConfig_r12_t*)NULL,
(SL_DiscConfig_r12_t*)NULL (SL_DiscConfig_r12_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, ue_context_pP->ue_context.sCell_config , ue_context_pP->ue_context.sCell_config
#endif #endif
); );
@@ -4171,7 +4173,7 @@ rrc_eNB_process_MeasurementReport(
} }
} }
// #if defined(Rel10) || defined(Rel14) // #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
// #else // #else
@@ -4442,7 +4444,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
// HandoverCommand_t handoverCommand; // HandoverCommand_t handoverCommand;
//uint8_t sourceModId = //uint8_t sourceModId =
// get_adjacent_cell_mod_id(ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo->sourcePhysCellId); // get_adjacent_cell_mod_id(ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo->sourcePhysCellId);
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
long *sr_ProhibitTimer_r9; long *sr_ProhibitTimer_r9;
#endif #endif
@@ -4686,17 +4688,17 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
ctxt_pP->module_id, ctxt_pP->module_id,
ue_context_pP->ue_context.primaryCC_id, ue_context_pP->ue_context.primaryCC_id,
0,0,0,0,0, 0,0,0,0,0,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
0, 0,
#endif #endif
ue_context_pP->ue_context.rnti, ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL, (BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t*) NULL, (RadioResourceConfigCommonSIB_t*) NULL,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
(RadioResourceConfigCommonSIB_t*) NULL, (RadioResourceConfigCommonSIB_t*) NULL,
#endif #endif
ue_context_pP->ue_context.physicalConfigDedicated, ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -4712,13 +4714,13 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
NULL, NULL,
NULL, NULL,
(MBSFN_SubframeConfigList_t *) NULL (MBSFN_SubframeConfigList_t *) NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
#endif #endif
# ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
, ,
(SystemInformationBlockType1_v1310_IEs_t *)NULL (SystemInformationBlockType1_v1310_IEs_t *)NULL
# endif #endif
); );
// Configure target eNB SRB2 // Configure target eNB SRB2
@@ -4834,7 +4836,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1; // Value dB1 =1 dB, dB3 = 3 dB mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1; // Value dB1 =1 dB, dB3 = 3 dB
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long)); sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long));
*sr_ProhibitTimer_r9 = 0; // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR *sr_ProhibitTimer_r9 = 0; // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR
mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1)); mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
@@ -5196,7 +5198,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
rrc_pdcp_config_asn1_req(&ctxt, rrc_pdcp_config_asn1_req(&ctxt,
ue_context_pP->ue_context.SRB_configList, ue_context_pP->ue_context.SRB_configList,
(DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL, 0xff, NULL, NULL, NULL (DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL, 0xff, NULL, NULL, NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, (PMCH_InfoList_r9_t *) NULL , (PMCH_InfoList_r9_t *) NULL
#endif #endif
,NULL); ,NULL);
@@ -5204,7 +5206,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
rrc_rlc_config_asn1_req(&ctxt, rrc_rlc_config_asn1_req(&ctxt,
ue_context_pP->ue_context.SRB_configList, ue_context_pP->ue_context.SRB_configList,
(DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL (DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, (PMCH_InfoList_r9_t *) NULL , (PMCH_InfoList_r9_t *) NULL
, 0, 0 , 0, 0
#endif #endif
@@ -5238,7 +5240,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
dedicatedInfoNASList, dedicatedInfoNASList,
(SL_CommConfig_r12_t*)NULL, (SL_CommConfig_r12_t*)NULL,
(SL_DiscConfig_r12_t*)NULL (SL_DiscConfig_r12_t*)NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, NULL // SCellToAddMod_r10_t , NULL // SCellToAddMod_r10_t
#endif #endif
); );
@@ -5270,17 +5272,17 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
ctxt_pP->module_id, ctxt_pP->module_id,
ue_context_pP->ue_context.primaryCC_id, ue_context_pP->ue_context.primaryCC_id,
0,0,0,0,0, 0,0,0,0,0,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
0, 0,
#endif #endif
ue_context_pP->ue_context.rnti, ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL, (BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#endif #endif
ue_context_pP->ue_context.physicalConfigDedicated, ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -5292,13 +5294,13 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
(TDD_Config_t *) NULL, (TDD_Config_t *) NULL,
(MobilityControlInfo_t *) mobilityInfo, (MobilityControlInfo_t *) mobilityInfo,
(SchedulingInfoList_t *) NULL, 0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL (SchedulingInfoList_t *) NULL, 0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
#endif #endif
# ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
, ,
(SystemInformationBlockType1_v1310_IEs_t *)NULL (SystemInformationBlockType1_v1310_IEs_t *)NULL
# endif #endif
); );
/* /*
@@ -5422,7 +5424,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
kRRCenc, kRRCenc,
kRRCint, kRRCint,
kUPenc kUPenc
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, (PMCH_InfoList_r9_t *) NULL , (PMCH_InfoList_r9_t *) NULL
#endif #endif
,NULL); ,NULL);
@@ -5433,7 +5435,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
DRB_configList, DRB_configList,
// (DRB_ToReleaseList_t *) NULL // (DRB_ToReleaseList_t *) NULL
DRB_Release_configList2 DRB_Release_configList2
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, (PMCH_InfoList_r9_t *) NULL , (PMCH_InfoList_r9_t *) NULL
, 0, 0 , 0, 0
#endif #endif
@@ -5543,17 +5545,17 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
ctxt_pP->module_id, ctxt_pP->module_id,
ue_context_pP->ue_context.primaryCC_id, ue_context_pP->ue_context.primaryCC_id,
0,0,0,0,0, 0,0,0,0,0,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
0, 0,
#endif #endif
ue_context_pP->ue_context.rnti, ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL, (BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#endif #endif
ue_context_pP->ue_context.physicalConfigDedicated, ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -5566,13 +5568,13 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
NULL, NULL,
(SchedulingInfoList_t *) NULL, (SchedulingInfoList_t *) NULL,
0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL 0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
#endif #endif
# ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
, ,
(SystemInformationBlockType1_v1310_IEs_t *)NULL (SystemInformationBlockType1_v1310_IEs_t *)NULL
# endif #endif
); );
} else { // remove LCHAN from MAC/PHY } else { // remove LCHAN from MAC/PHY
@@ -5598,17 +5600,17 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
rrc_mac_config_req_eNB(ctxt_pP->module_id, rrc_mac_config_req_eNB(ctxt_pP->module_id,
ue_context_pP->ue_context.primaryCC_id, ue_context_pP->ue_context.primaryCC_id,
0,0,0,0,0, 0,0,0,0,0,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
0, 0,
#endif #endif
ue_context_pP->ue_context.rnti, ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL, (BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#endif #endif
ue_context_pP->ue_context.physicalConfigDedicated, ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -5621,13 +5623,13 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
NULL, NULL,
(SchedulingInfoList_t *) NULL, (SchedulingInfoList_t *) NULL,
0, NULL, NULL, NULL 0, NULL, NULL, NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
#endif #endif
# ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
, ,
(SystemInformationBlockType1_v1310_IEs_t *)NULL (SystemInformationBlockType1_v1310_IEs_t *)NULL
# endif #endif
); );
} }
} }
@@ -5716,17 +5718,17 @@ rrc_eNB_generate_RRCConnectionSetup(
ctxt_pP->module_id, ctxt_pP->module_id,
ue_context_pP->ue_context.primaryCC_id, ue_context_pP->ue_context.primaryCC_id,
0,0,0,0,0, 0,0,0,0,0,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
0, 0,
#endif #endif
ue_context_pP->ue_context.rnti, ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL, (BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
(RadioResourceConfigCommonSIB_t *) NULL, (RadioResourceConfigCommonSIB_t *) NULL,
#endif #endif
ue_context_pP->ue_context.physicalConfigDedicated, ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(SCellToAddMod_r10_t *)NULL, (SCellToAddMod_r10_t *)NULL,
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL, //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
#endif #endif
@@ -5739,13 +5741,13 @@ rrc_eNB_generate_RRCConnectionSetup(
NULL, NULL,
(SchedulingInfoList_t *) NULL, (SchedulingInfoList_t *) NULL,
0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL 0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
#endif #endif
# ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
, ,
(SystemInformationBlockType1_v1310_IEs_t *)NULL (SystemInformationBlockType1_v1310_IEs_t *)NULL
# endif #endif
); );
break; break;
} }
@@ -5850,14 +5852,14 @@ openair_rrc_eNB_init(
LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Checking release \n", LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Checking release \n",
PROTOCOL_RRC_CTXT_ARGS(&ctxt)); PROTOCOL_RRC_CTXT_ARGS(&ctxt));
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
// can clear it at runtime // can clear it at runtime
RC.rrc[ctxt.module_id]->carrier[0].MBMS_flag = 0; RC.rrc[ctxt.module_id]->carrier[0].MBMS_flag = 0;
// This has to come from some top-level configuration // This has to come from some top-level configuration
// only CC_id 0 is logged // only CC_id 0 is logged
#if defined(Rel10) #if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel10 RRC detected, MBMS flag %d\n", LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel10 RRC detected, MBMS flag %d\n",
#else #else
LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel14 RRC detected, MBMS flag %d\n", LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel14 RRC detected, MBMS flag %d\n",
@@ -5907,7 +5909,7 @@ openair_rrc_eNB_init(
rrc_init_global_param(); rrc_init_global_param();
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) { for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
switch (RC.rrc[ctxt.module_id]->carrier[CC_id].MBMS_flag) { switch (RC.rrc[ctxt.module_id]->carrier[CC_id].MBMS_flag) {
case 1: case 1:
case 2: case 2:
@@ -6212,16 +6214,16 @@ rrc_eNB_decode_ccch(
NULL, NULL,
NULL, NULL,
NULL NULL
# if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, (PMCH_InfoList_r9_t *) NULL , (PMCH_InfoList_r9_t *) NULL
# endif #endif
,NULL); ,NULL);
rrc_rlc_config_asn1_req(ctxt_pP, rrc_rlc_config_asn1_req(ctxt_pP,
ue_context_p->ue_context.SRB_configList, ue_context_p->ue_context.SRB_configList,
(DRB_ToAddModList_t*) NULL, (DRB_ToAddModList_t*) NULL,
(DRB_ToReleaseList_t*) NULL (DRB_ToReleaseList_t*) NULL
# if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, (PMCH_InfoList_r9_t *) NULL, , (PMCH_InfoList_r9_t *) NULL,
0,0 0,0
# endif # endif
@@ -6452,19 +6454,19 @@ rrc_eNB_decode_ccch(
NULL, NULL,
NULL, NULL,
NULL NULL
# if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, (PMCH_InfoList_r9_t *) NULL , (PMCH_InfoList_r9_t *) NULL
# endif #endif
,NULL); ,NULL);
rrc_rlc_config_asn1_req(ctxt_pP, rrc_rlc_config_asn1_req(ctxt_pP,
ue_context_p->ue_context.SRB_configList, ue_context_p->ue_context.SRB_configList,
(DRB_ToAddModList_t*) NULL, (DRB_ToAddModList_t*) NULL,
(DRB_ToReleaseList_t*) NULL (DRB_ToReleaseList_t*) NULL
# if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, (PMCH_InfoList_r9_t *) NULL , (PMCH_InfoList_r9_t *) NULL
, 0, 0 , 0, 0
# endif #endif
); );
#endif //NO_RRM #endif //NO_RRM
@@ -7085,7 +7087,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
break; break;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
case UL_DCCH_MessageType__c1_PR_ueInformationResponse_r9: case UL_DCCH_MessageType__c1_PR_ueInformationResponse_r9:
T(T_ENB_RRC_UE_INFORMATION_RESPONSE_R9, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame), T(T_ENB_RRC_UE_INFORMATION_RESPONSE_R9, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
@@ -7098,7 +7100,9 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti)); T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
break; break;
#endif
#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
case UL_DCCH_MessageType__c1_PR_rnReconfigurationComplete_r10: case UL_DCCH_MessageType__c1_PR_rnReconfigurationComplete_r10:
T(T_ENB_RRC_RECONFIGURATION_COMPLETE_R10, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame), T(T_ENB_RRC_RECONFIGURATION_COMPLETE_R10, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti)); T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
@@ -7398,7 +7402,7 @@ openair_rrc_top_init_eNB(int eMBMS_active,uint8_t HO_active)
RC.rrc[module_id]->HO_flag = (uint8_t)HO_active; RC.rrc[module_id]->HO_flag = (uint8_t)HO_active;
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
LOG_I(RRC,"[eNB] eMBMS active state is %d \n", eMBMS_active); LOG_I(RRC,"[eNB] eMBMS active state is %d \n", eMBMS_active);
for (module_id=0; module_id<NB_eNB_INST; module_id++) { for (module_id=0; module_id<NB_eNB_INST; module_id++) {
+1 -1
View File
@@ -74,7 +74,7 @@ static const uint16_t S1AP_ENCRYPTION_EEA2_MASK = 0x4000;
static const uint16_t S1AP_INTEGRITY_EIA1_MASK = 0x8000; static const uint16_t S1AP_INTEGRITY_EIA1_MASK = 0x8000;
static const uint16_t S1AP_INTEGRITY_EIA2_MASK = 0x4000; static const uint16_t S1AP_INTEGRITY_EIA2_MASK = 0x4000;
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 2, 0))
# define INTEGRITY_ALGORITHM_NONE SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920 # define INTEGRITY_ALGORITHM_NONE SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920
#else #else
#ifdef EXMIMO_IOT #ifdef EXMIMO_IOT
+3 -3
View File
@@ -59,7 +59,7 @@ struct LogicalChannelConfig__ul_SpecificParameters LCSRB2 = {3,
}; };
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
struct LogicalChannelConfig__ext1 logicalChannelSR_Mask_r9_ext1 = { struct LogicalChannelConfig__ext1 logicalChannelSR_Mask_r9_ext1 = {
logicalChannelSR_Mask_r9: &logicalChannelSR_Mask_r9 logicalChannelSR_Mask_r9: &logicalChannelSR_Mask_r9
}; };
@@ -67,14 +67,14 @@ struct LogicalChannelConfig__ext1 logicalChannelSR_Mask_r9_ext1 = {
// These are the default SRB configurations from 36.331 (Chapter 9, p. 176-179 in v8.6) // These are the default SRB configurations from 36.331 (Chapter 9, p. 176-179 in v8.6)
LogicalChannelConfig_t SRB1_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB1 LogicalChannelConfig_t SRB1_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB1
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
ext1: &logicalChannelSR_Mask_r9_ext1 ext1: &logicalChannelSR_Mask_r9_ext1
#endif #endif
}; };
LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB2 LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB2
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, ,
ext1: &logicalChannelSR_Mask_r9_ext1 ext1: &logicalChannelSR_Mask_r9_ext1
#endif #endif
+4 -4
View File
@@ -333,7 +333,7 @@ inline void ASN_DEBUG(const char *fmt, ...);
#include "S1ap-IE.h" #include "S1ap-IE.h"
#include "S1AP-PDU.h" #include "S1AP-PDU.h"
#if defined (UPDATE_RELEASE_9) #if (S1AP_VERSION >= MAKE_VERSION(9, 0, 0))
# include "S1ap-BroadcastCancelledAreaList.h" # include "S1ap-BroadcastCancelledAreaList.h"
# include "S1ap-CancelledCellinEAI.h" # include "S1ap-CancelledCellinEAI.h"
# include "S1ap-CancelledCellinEAI-Item.h" # include "S1ap-CancelledCellinEAI-Item.h"
@@ -364,9 +364,9 @@ inline void ASN_DEBUG(const char *fmt, ...);
# include "S1ap-UplinkUEAssociatedLPPaTransport.h" # include "S1ap-UplinkUEAssociatedLPPaTransport.h"
# include "S1ap-DownlinkNonUEAssociatedLPPaTransport.h" # include "S1ap-DownlinkNonUEAssociatedLPPaTransport.h"
# include "S1ap-UplinkNonUEAssociatedLPPaTransport.h" # include "S1ap-UplinkNonUEAssociatedLPPaTransport.h"
#endif /* (UPDATE_RELEASE_9) */ #endif /* #if (S1AP_VERSION >= MAKE_VERSION(9, 0, 0)) */
#if defined(UPDATE_RELEASE_10) #if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0))
# include "S1ap-PagingPriority.h" # include "S1ap-PagingPriority.h"
# include "S1ap-RelayNode-Indicator.h" # include "S1ap-RelayNode-Indicator.h"
# include "S1ap-GWContextReleaseIndication.h" # include "S1ap-GWContextReleaseIndication.h"
@@ -375,7 +375,7 @@ inline void ASN_DEBUG(const char *fmt, ...);
# include "S1ap-PrivacyIndicator.h" # include "S1ap-PrivacyIndicator.h"
# include "S1ap-TrafficLoadReductionIndication.h" # include "S1ap-TrafficLoadReductionIndication.h"
# include "S1ap-GUMMEIList.h" # include "S1ap-GUMMEIList.h"
#endif /* (UPDATE_RELEASE_10) */ #endif /* #if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0)) */
/* Checking version of ASN1C compiler */ /* Checking version of ASN1C compiler */
#if (ASN1C_ENVIRONMENT_VERSION < ASN1C_MINIMUM_VERSION) #if (ASN1C_ENVIRONMENT_VERSION < ASN1C_MINIMUM_VERSION)
+1 -1
View File
@@ -141,7 +141,7 @@ s1ap_message_decoded_callback messages_callback[][3] = {
{ 0, 0, 0 }, /* eNBConfigurationTransfer */ { 0, 0, 0 }, /* eNBConfigurationTransfer */
{ 0, 0, 0 }, /* MMEConfigurationTransfer */ { 0, 0, 0 }, /* MMEConfigurationTransfer */
{ 0, 0, 0 }, /* CellTrafficTrace */ { 0, 0, 0 }, /* CellTrafficTrace */
#if defined(UPDATE_RELEASE_9) #if (S1AP_VERSION >= MAKE_VERSION(9, 0, 0))
{ 0, 0, 0 }, /* Kill */ { 0, 0, 0 }, /* Kill */
{ 0, 0, 0 }, /* DownlinkUEAssociatedLPPaTransport */ { 0, 0, 0 }, /* DownlinkUEAssociatedLPPaTransport */
{ 0, 0, 0 }, /* UplinkUEAssociatedLPPaTransport */ { 0, 0, 0 }, /* UplinkUEAssociatedLPPaTransport */
+13 -13
View File
@@ -150,7 +150,7 @@ void stop_eNB(int nb_inst);
int wakeup_tx(PHY_VARS_eNB *eNB,RU_proc_t *ru_proc); int wakeup_tx(PHY_VARS_eNB *eNB,RU_proc_t *ru_proc);
int wakeup_txfh(eNB_rxtx_proc_t *proc,RU_proc_t *ru_proc); int wakeup_txfh(eNB_rxtx_proc_t *proc,RU_proc_t *ru_proc);
void wakeup_prach_eNB(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe); void wakeup_prach_eNB(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void wakeup_prach_eNB_br(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe); void wakeup_prach_eNB_br(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe);
#endif #endif
extern int codingw; extern int codingw;
@@ -212,7 +212,7 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam
// if this is IF5 or 3GPP_eNB // if this is IF5 or 3GPP_eNB
if (eNB && eNB->RU_list && eNB->RU_list[0] && eNB->RU_list[0]->function < NGFI_RAU_IF4p5) { if (eNB && eNB->RU_list && eNB->RU_list[0] && eNB->RU_list[0]->function < NGFI_RAU_IF4p5) {
wakeup_prach_eNB(eNB,NULL,proc->frame_rx,proc->subframe_rx); wakeup_prach_eNB(eNB,NULL,proc->frame_rx,proc->subframe_rx);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
wakeup_prach_eNB_br(eNB,NULL,proc->frame_rx,proc->subframe_rx); wakeup_prach_eNB_br(eNB,NULL,proc->frame_rx,proc->subframe_rx);
#endif #endif
} }
@@ -716,7 +716,7 @@ void wakeup_prach_eNB(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe) {
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void wakeup_prach_eNB_br(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe) { void wakeup_prach_eNB_br(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe) {
eNB_proc_t *proc = &eNB->proc; eNB_proc_t *proc = &eNB->proc;
@@ -805,7 +805,7 @@ static void* eNB_thread_prach( void* param ) {
LOG_D(PHY,"Running eNB prach procedures\n"); LOG_D(PHY,"Running eNB prach procedures\n");
prach_procedures(eNB prach_procedures(eNB
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0 ,0
#endif #endif
); );
@@ -819,7 +819,7 @@ static void* eNB_thread_prach( void* param ) {
return &eNB_thread_prach_status; return &eNB_thread_prach_status;
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/*! /*!
* \brief The prach receive thread of eNB for BL/CE UEs. * \brief The prach receive thread of eNB for BL/CE UEs.
* \param param is a \ref eNB_proc_t structure which contains the info what to process. * \param param is a \ref eNB_proc_t structure which contains the info what to process.
@@ -902,7 +902,7 @@ void init_eNB_proc(int inst) {
eNB_proc_t *proc; eNB_proc_t *proc;
eNB_rxtx_proc_t *proc_rxtx; eNB_rxtx_proc_t *proc_rxtx;
pthread_attr_t *attr0=NULL,*attr1=NULL,*attr_prach=NULL; pthread_attr_t *attr0=NULL,*attr1=NULL,*attr_prach=NULL;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
pthread_attr_t *attr_prach_br=NULL; pthread_attr_t *attr_prach_br=NULL;
#endif #endif
@@ -948,7 +948,7 @@ void init_eNB_proc(int inst) {
pthread_attr_init( &proc->attr_asynch_rxtx); pthread_attr_init( &proc->attr_asynch_rxtx);
pthread_attr_init( &proc_rxtx[0].attr_rxtx); pthread_attr_init( &proc_rxtx[0].attr_rxtx);
pthread_attr_init( &proc_rxtx[1].attr_rxtx); pthread_attr_init( &proc_rxtx[1].attr_rxtx);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
proc->instance_cnt_prach_br = -1; proc->instance_cnt_prach_br = -1;
proc->RU_mask_prach_br=0; proc->RU_mask_prach_br=0;
pthread_mutex_init( &proc->mutex_prach_br, NULL); pthread_mutex_init( &proc->mutex_prach_br, NULL);
@@ -960,7 +960,7 @@ void init_eNB_proc(int inst) {
attr0 = &proc_rxtx[0].attr_rxtx; attr0 = &proc_rxtx[0].attr_rxtx;
attr1 = &proc_rxtx[1].attr_rxtx; attr1 = &proc_rxtx[1].attr_rxtx;
attr_prach = &proc->attr_prach; attr_prach = &proc->attr_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
attr_prach_br = &proc->attr_prach_br; attr_prach_br = &proc->attr_prach_br;
#endif #endif
@@ -993,7 +993,7 @@ void init_eNB_proc(int inst) {
pthread_create( &proc_rxtx[1].pthread_rxtx, attr1, eNB_thread_rxtx, &proc_rxtx[1] ); pthread_create( &proc_rxtx[1].pthread_rxtx, attr1, eNB_thread_rxtx, &proc_rxtx[1] );
} }
pthread_create( &proc->pthread_prach, attr_prach, eNB_thread_prach, eNB ); pthread_create( &proc->pthread_prach, attr_prach, eNB_thread_prach, eNB );
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
pthread_create( &proc->pthread_prach_br, attr_prach_br, eNB_thread_prach_br, eNB ); pthread_create( &proc->pthread_prach_br, attr_prach_br, eNB_thread_prach_br, eNB );
#endif #endif
char name[16]; char name[16];
@@ -1077,7 +1077,7 @@ void kill_eNB_proc(int inst) {
LOG_I(PHY, "Destroying prach mutex/cond\n"); LOG_I(PHY, "Destroying prach mutex/cond\n");
pthread_mutex_destroy( &proc->mutex_prach ); pthread_mutex_destroy( &proc->mutex_prach );
pthread_cond_destroy( &proc->cond_prach ); pthread_cond_destroy( &proc->cond_prach );
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
proc->instance_cnt_prach_br = 0; proc->instance_cnt_prach_br = 0;
pthread_cond_signal( &proc->cond_prach_br ); pthread_cond_signal( &proc->cond_prach_br );
pthread_join( proc->pthread_prach_br, (void**)&status ); pthread_join( proc->pthread_prach_br, (void**)&status );
@@ -1227,7 +1227,7 @@ void init_eNB_afterRU(void) {
LOG_I(PHY,"Overwriting eNB->prach_vars.rxsigF[0]:%p\n", eNB->prach_vars.rxsigF[0]); LOG_I(PHY,"Overwriting eNB->prach_vars.rxsigF[0]:%p\n", eNB->prach_vars.rxsigF[0]);
eNB->prach_vars.rxsigF[0] = (int16_t**)malloc16(64*sizeof(int16_t*)); eNB->prach_vars.rxsigF[0] = (int16_t**)malloc16(64*sizeof(int16_t*));
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
for (int ce_level=0;ce_level<4;ce_level++) { for (int ce_level=0;ce_level<4;ce_level++) {
LOG_I(PHY,"Overwriting eNB->prach_vars_br.rxsigF.rxsigF[0]:%p\n", eNB->prach_vars_br.rxsigF[ce_level]); LOG_I(PHY,"Overwriting eNB->prach_vars_br.rxsigF.rxsigF[0]:%p\n", eNB->prach_vars_br.rxsigF[ce_level]);
eNB->prach_vars_br.rxsigF[ce_level] = (int16_t**)malloc16(64*sizeof(int16_t*)); eNB->prach_vars_br.rxsigF[ce_level] = (int16_t**)malloc16(64*sizeof(int16_t*));
@@ -1250,7 +1250,7 @@ void init_eNB_afterRU(void) {
for (i=0;i<eNB->RU_list[ru_id]->nb_rx;aa++,i++) { for (i=0;i<eNB->RU_list[ru_id]->nb_rx;aa++,i++) {
LOG_I(PHY,"Attaching RU %d antenna %d to eNB antenna %d\n",eNB->RU_list[ru_id]->idx,i,aa); LOG_I(PHY,"Attaching RU %d antenna %d to eNB antenna %d\n",eNB->RU_list[ru_id]->idx,i,aa);
eNB->prach_vars.rxsigF[0][aa] = eNB->RU_list[ru_id]->prach_rxsigF[i]; eNB->prach_vars.rxsigF[0][aa] = eNB->RU_list[ru_id]->prach_rxsigF[i];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
for (int ce_level=0;ce_level<4;ce_level++) for (int ce_level=0;ce_level<4;ce_level++)
eNB->prach_vars_br.rxsigF[ce_level][aa] = eNB->RU_list[ru_id]->prach_rxsigF_br[ce_level][i]; eNB->prach_vars_br.rxsigF[ce_level][aa] = eNB->RU_list[ru_id]->prach_rxsigF_br[ce_level][i];
#endif #endif
@@ -1303,7 +1303,7 @@ void init_eNB_afterRU(void) {
RC.ru[ru_id]->wakeup_rxtx = wakeup_rxtx; RC.ru[ru_id]->wakeup_rxtx = wakeup_rxtx;
RC.ru[ru_id]->wakeup_prach_eNB = wakeup_prach_eNB; RC.ru[ru_id]->wakeup_prach_eNB = wakeup_prach_eNB;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RC.ru[ru_id]->wakeup_prach_eNB_br = wakeup_prach_eNB_br; RC.ru[ru_id]->wakeup_prach_eNB_br = wakeup_prach_eNB_br;
#endif #endif
RC.ru[ru_id]->eNB_top = eNB_top; RC.ru[ru_id]->eNB_top = eNB_top;
+15 -15
View File
@@ -524,7 +524,7 @@ void fh_if4p5_south_asynch_in(RU_t *ru,int *frame,int *subframe) {
} }
if (packet_type == IF4p5_PULFFT) symbol_mask &= (~(1<<symbol_number)); if (packet_type == IF4p5_PULFFT) symbol_mask &= (~(1<<symbol_number));
else if (packet_type == IF4p5_PRACH) prach_rx &= (~0x1); else if (packet_type == IF4p5_PRACH) prach_rx &= (~0x1);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
else if (packet_type == IF4p5_PRACH_BR_CE0) prach_rx &= (~0x2); else if (packet_type == IF4p5_PRACH_BR_CE0) prach_rx &= (~0x2);
else if (packet_type == IF4p5_PRACH_BR_CE1) prach_rx &= (~0x4); else if (packet_type == IF4p5_PRACH_BR_CE1) prach_rx &= (~0x4);
else if (packet_type == IF4p5_PRACH_BR_CE2) prach_rx &= (~0x8); else if (packet_type == IF4p5_PRACH_BR_CE2) prach_rx &= (~0x8);
@@ -1007,7 +1007,7 @@ static void* ru_thread_prach( void* param ) {
if (ru->eNB_list[0]){ if (ru->eNB_list[0]){
prach_procedures( prach_procedures(
ru->eNB_list[0] ru->eNB_list[0]
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0 ,0
#endif #endif
); );
@@ -1020,7 +1020,7 @@ static void* ru_thread_prach( void* param ) {
NULL, NULL,
proc->frame_prach, proc->frame_prach,
0 0
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0 ,0
#endif #endif
); );
@@ -1035,7 +1035,7 @@ static void* ru_thread_prach( void* param ) {
return &ru_thread_prach_status; return &ru_thread_prach_status;
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
static void* ru_thread_prach_br( void* param ) { static void* ru_thread_prach_br( void* param ) {
static int ru_thread_prach_status; static int ru_thread_prach_status;
@@ -1234,7 +1234,7 @@ static inline int wakeup_prach_ru(RU_t *ru) {
return(0); return(0);
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
static inline int wakeup_prach_ru_br(RU_t *ru) { static inline int wakeup_prach_ru_br(RU_t *ru) {
struct timespec wait; struct timespec wait;
@@ -1624,7 +1624,7 @@ static void* ru_thread( void* param ) {
if ((ru->do_prach>0) && (is_prach_subframe(fp, proc->frame_rx, proc->subframe_rx)==1)) { if ((ru->do_prach>0) && (is_prach_subframe(fp, proc->frame_rx, proc->subframe_rx)==1)) {
wakeup_prach_ru(ru); wakeup_prach_ru(ru);
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
else if ((ru->do_prach>0) && (is_prach_subframe(fp, proc->frame_rx, proc->subframe_rx)>1)) { else if ((ru->do_prach>0) && (is_prach_subframe(fp, proc->frame_rx, proc->subframe_rx)>1)) {
wakeup_prach_ru_br(ru); wakeup_prach_ru_br(ru);
} }
@@ -1782,7 +1782,7 @@ void init_RU_proc(RU_t *ru) {
RU_proc_t *proc; RU_proc_t *proc;
pthread_attr_t *attr_FH=NULL,*attr_FH1=NULL,*attr_prach=NULL,*attr_asynch=NULL,*attr_synch=NULL,*attr_emulateRF=NULL; pthread_attr_t *attr_FH=NULL,*attr_FH1=NULL,*attr_prach=NULL,*attr_asynch=NULL,*attr_synch=NULL,*attr_emulateRF=NULL;
//pthread_attr_t *attr_fep=NULL; //pthread_attr_t *attr_fep=NULL;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
pthread_attr_t *attr_prach_br=NULL; pthread_attr_t *attr_prach_br=NULL;
#endif #endif
char name[100]; char name[100];
@@ -1835,7 +1835,7 @@ void init_RU_proc(RU_t *ru) {
pthread_attr_init( &proc->attr_asynch_rxtx); pthread_attr_init( &proc->attr_asynch_rxtx);
pthread_attr_init( &proc->attr_fep); pthread_attr_init( &proc->attr_fep);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
proc->instance_cnt_prach_br = -1; proc->instance_cnt_prach_br = -1;
pthread_mutex_init( &proc->mutex_prach_br, NULL); pthread_mutex_init( &proc->mutex_prach_br, NULL);
pthread_cond_init( &proc->cond_prach_br, NULL); pthread_cond_init( &proc->cond_prach_br, NULL);
@@ -1849,7 +1849,7 @@ void init_RU_proc(RU_t *ru) {
attr_synch = &proc->attr_synch; attr_synch = &proc->attr_synch;
attr_asynch = &proc->attr_asynch_rxtx; attr_asynch = &proc->attr_asynch_rxtx;
attr_emulateRF = &proc->attr_emulateRF; attr_emulateRF = &proc->attr_emulateRF;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
attr_prach_br = &proc->attr_prach_br; attr_prach_br = &proc->attr_prach_br;
#endif #endif
#endif #endif
@@ -1863,7 +1863,7 @@ void init_RU_proc(RU_t *ru) {
if (ru->function == NGFI_RRU_IF4p5) { if (ru->function == NGFI_RRU_IF4p5) {
pthread_create( &proc->pthread_prach, attr_prach, ru_thread_prach, (void*)ru ); pthread_create( &proc->pthread_prach, attr_prach, ru_thread_prach, (void*)ru );
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
pthread_create( &proc->pthread_prach_br, attr_prach_br, ru_thread_prach_br, (void*)ru ); pthread_create( &proc->pthread_prach_br, attr_prach_br, ru_thread_prach_br, (void*)ru );
#endif #endif
if (ru->is_slave == 1) pthread_create( &proc->pthread_synch, attr_synch, ru_thread_synch, (void*)ru); if (ru->is_slave == 1) pthread_create( &proc->pthread_synch, attr_synch, ru_thread_synch, (void*)ru);
@@ -1913,7 +1913,7 @@ void kill_RU_proc(int inst)
pthread_cond_signal(&proc->cond_prach); pthread_cond_signal(&proc->cond_prach);
pthread_mutex_unlock(&proc->mutex_prach); pthread_mutex_unlock(&proc->mutex_prach);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
pthread_mutex_lock(&proc->mutex_prach_br); pthread_mutex_lock(&proc->mutex_prach_br);
proc->instance_cnt_prach_br = 0; proc->instance_cnt_prach_br = 0;
pthread_cond_signal(&proc->cond_prach_br); pthread_cond_signal(&proc->cond_prach_br);
@@ -1943,7 +1943,7 @@ void kill_RU_proc(int inst)
if (ru->function == NGFI_RRU_IF4p5) { if (ru->function == NGFI_RRU_IF4p5) {
LOG_D(PHY, "Joining pthread_prach\n"); LOG_D(PHY, "Joining pthread_prach\n");
pthread_join(proc->pthread_prach, NULL); pthread_join(proc->pthread_prach, NULL);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
LOG_D(PHY, "Joining pthread_prach_br\n"); LOG_D(PHY, "Joining pthread_prach_br\n");
pthread_join(proc->pthread_prach_br, NULL); pthread_join(proc->pthread_prach_br, NULL);
#endif #endif
@@ -2007,7 +2007,7 @@ void kill_RU_proc(int inst)
pthread_attr_destroy(&proc->attr_asynch_rxtx); pthread_attr_destroy(&proc->attr_asynch_rxtx);
pthread_attr_destroy(&proc->attr_fep); pthread_attr_destroy(&proc->attr_fep);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
pthread_mutex_destroy(&proc->mutex_prach_br); pthread_mutex_destroy(&proc->mutex_prach_br);
pthread_cond_destroy(&proc->cond_prach_br); pthread_cond_destroy(&proc->cond_prach_br);
pthread_attr_destroy(&proc->attr_prach_br); pthread_attr_destroy(&proc->attr_prach_br);
@@ -2103,7 +2103,7 @@ void configure_ru(int idx,
LOG_I(PHY,"REMOTE_IF4p5: prach_FrequOffset %d, prach_ConfigIndex %d\n", LOG_I(PHY,"REMOTE_IF4p5: prach_FrequOffset %d, prach_ConfigIndex %d\n",
config->prach_FreqOffset[0],config->prach_ConfigIndex[0]); config->prach_FreqOffset[0],config->prach_ConfigIndex[0]);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int i; int i;
for (i=0;i<4;i++) { for (i=0;i<4;i++) {
config->emtc_prach_CElevel_enable[0][i] = ru->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[i]; config->emtc_prach_CElevel_enable[0][i] = ru->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[i];
@@ -2147,7 +2147,7 @@ void configure_rru(int idx,
config->prach_FreqOffset[0],config->prach_ConfigIndex[0],ru->att_tx,ru->att_rx); config->prach_FreqOffset[0],config->prach_ConfigIndex[0],ru->att_tx,ru->att_rx);
ru->frame_parms.prach_config_common.prach_ConfigInfo.prach_FreqOffset = config->prach_FreqOffset[0]; ru->frame_parms.prach_config_common.prach_ConfigInfo.prach_FreqOffset = config->prach_FreqOffset[0];
ru->frame_parms.prach_config_common.prach_ConfigInfo.prach_ConfigIndex = config->prach_ConfigIndex[0]; ru->frame_parms.prach_config_common.prach_ConfigInfo.prach_ConfigIndex = config->prach_ConfigIndex[0];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
for (int i=0;i<4;i++) { for (int i=0;i<4;i++) {
ru->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[i] = config->emtc_prach_CElevel_enable[0][i]; ru->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[i] = config->emtc_prach_CElevel_enable[0][i];
ru->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[i] = config->emtc_prach_FreqOffset[0][i]; ru->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[i] = config->emtc_prach_FreqOffset[0][i];
+3 -3
View File
@@ -131,7 +131,7 @@ extern channel_desc_t *RU2UE[NUMBER_OF_RU_MAX][MAX_MOBILES_PER_ENB][MAX_NUM_CCs]
extern channel_desc_t *UE2RU[MAX_MOBILES_PER_ENB][NUMBER_OF_RU_MAX][MAX_NUM_CCs]; extern channel_desc_t *UE2RU[MAX_MOBILES_PER_ENB][NUMBER_OF_RU_MAX][MAX_NUM_CCs];
extern mapping small_scale_names[]; extern mapping small_scale_names[];
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
extern pdcp_mbms_t pdcp_mbms_array_ue[MAX_MOBILES_PER_ENB][maxServiceCount][maxSessionPerPMCH]; extern pdcp_mbms_t pdcp_mbms_array_ue[MAX_MOBILES_PER_ENB][maxServiceCount][maxSessionPerPMCH];
extern pdcp_mbms_t pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH]; extern pdcp_mbms_t pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH];
#endif #endif
@@ -1491,7 +1491,7 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime)
} }
} }
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
mbms_service_id_t service_id; mbms_service_id_t service_id;
mbms_session_id_t session_id; mbms_session_id_t session_id;
rb_id_t rb_id; rb_id_t rb_id;
@@ -1526,7 +1526,7 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime)
// old version // old version
// MBSM multicast traffic // MBSM multicast traffic
#if defined(Rel10) || defined(Rel14) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if (frame >= 46) {// only generate when UE can receive MTCH (need to control this value) if (frame >= 46) {// only generate when UE can receive MTCH (need to control this value)
for (service_id = 0; service_id < 2 ; service_id++) { //maxServiceCount for (service_id = 0; service_id < 2 ; service_id++) { //maxServiceCount
for (session_id = 0; session_id < 2; session_id++) { // maxSessionPerPMCH for (session_id = 0; session_id < 2; session_id++) { // maxSessionPerPMCH