Merge remote-tracking branch 'origin/feature-228-rrc-rel14' into develop_integration_w12
This commit is contained in:
@@ -283,8 +283,10 @@ if (${RRC_ASN1_VERSION} STREQUAL "Rel8")
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn)
|
||||
elseif (${RRC_ASN1_VERSION} STREQUAL "CBA")
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn)
|
||||
else()
|
||||
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel10")
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn)
|
||||
else()
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn)
|
||||
endif (${RRC_ASN1_VERSION} STREQUAL "Rel8")
|
||||
|
||||
set (RRC_FULL_DIR ${asn1_generated_dir}/${RRC_ASN1_VERSION})
|
||||
|
||||
@@ -41,7 +41,7 @@ VCD_TIMING="False"
|
||||
DEADLINE_SCHEDULER_FLAG_USER="False"
|
||||
FORCE_DEADLINE_SCHEDULER_FLAG_USER=""
|
||||
CPU_AFFINITY_FLAG_USER="False" #Only valid when lowlatecy flag is set to False
|
||||
REL="Rel10"
|
||||
REL="Rel14"
|
||||
HW="None"
|
||||
TP="None"
|
||||
NOS1=0
|
||||
@@ -95,8 +95,9 @@ Options
|
||||
-a | --agent
|
||||
Enables agent for software-defined control of the eNB
|
||||
-r | --3gpp-release
|
||||
default is Rel10,
|
||||
default is Rel14,
|
||||
Rel8 limits the implementation to 3GPP Release 8 version
|
||||
Rel10 limits the implementation to 3GPP Release 10 version
|
||||
-w | --hardware
|
||||
EXMIMO, USRP, BLADERF, ETHERNET, LMSSDR, None (Default)
|
||||
Adds this RF board support (in external packages installation and in compilation)
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
# in those arrays, each line is:
|
||||
# <file> <sha1sum of file (without line 4 which changes depending on the location of the files)> <patch to apply to file>
|
||||
|
||||
RRC_Rel14=(
|
||||
"SystemInformation-r8-IEs.h" 562e3c3aeb7c6d76d722f31bf24488a26e627f33 "fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff"
|
||||
)
|
||||
|
||||
RRC_Rel10=(
|
||||
"SystemInformation-r8-IEs.h" 603cd6615cff36ec7020692d72c0d6de7c4859cb "fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff"
|
||||
)
|
||||
@@ -87,6 +91,10 @@ function patch_rrc()
|
||||
local version="$2"
|
||||
|
||||
case "$version" in
|
||||
Rel14 )
|
||||
echo "patching RRC files release 14"
|
||||
apply_patches "$directory" RRC_Rel14 ${#RRC_Rel14[*]}
|
||||
;;
|
||||
Rel10 )
|
||||
echo "patching RRC files release 10"
|
||||
apply_patches "$directory" RRC_Rel10 ${#RRC_Rel10[*]}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
73,77d72
|
||||
< /* SystemInformation-r8-IEs */
|
||||
< typedef struct SystemInformation_r8_IEs {
|
||||
< struct SystemInformation_r8_IEs__sib_TypeAndInfo {
|
||||
< A_SEQUENCE_OF(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member {
|
||||
< SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR present;
|
||||
103c98,102
|
||||
< } choice;
|
||||
---
|
||||
> };
|
||||
>
|
||||
> struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member {
|
||||
> SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR present;
|
||||
> union SystemInformation_r8_IEs__sib_TypeAndInfo__Member_u choice;
|
||||
107c106,111
|
||||
< } ) list;
|
||||
---
|
||||
> };
|
||||
>
|
||||
> /* SystemInformation-r8-IEs */
|
||||
> typedef struct SystemInformation_r8_IEs {
|
||||
> struct SystemInformation_r8_IEs__sib_TypeAndInfo {
|
||||
> A_SEQUENCE_OF(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member) list;
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "TDD-Config.h"
|
||||
#include "MBSFN-SubframeConfigList.h"
|
||||
#include "MobilityControlInfo.h"
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "SCellToAddMod-r10.h"
|
||||
#endif
|
||||
/** @addtogroup _PHY_STRUCTURES_
|
||||
@@ -317,7 +317,7 @@ void lte_param_init(unsigned char N_tx_port_eNB,
|
||||
uint8_t osf,
|
||||
uint32_t perfect_ce);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
void phy_config_dedicated_scell_ue(uint8_t Mod_id,
|
||||
uint8_t eNB_index,
|
||||
SCellToAddMod_r10_t *sCellToAddMod_r10,
|
||||
|
||||
@@ -707,7 +707,7 @@ void phy_config_dedicated_eNB(uint8_t Mod_id,
|
||||
}
|
||||
|
||||
}
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
void phy_config_dedicated_scell_ue(uint8_t Mod_id,
|
||||
uint8_t eNB_index,
|
||||
SCellToAddMod_r10_t *sCellToAddMod_r10,
|
||||
|
||||
@@ -507,7 +507,7 @@ int dump_ue_stats(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,char* buffer, int length
|
||||
len += sprintf(&buffer[len], "[UE PROC] DLSCH Total %d, Error %d, FER %d\n",ue->dlsch_received[0],ue->dlsch_errors[0],ue->dlsch_fer[0]);
|
||||
len += sprintf(&buffer[len], "[UE PROC] DLSCH (SI) Total %d, Error %d\n",ue->dlsch_SI_received[0],ue->dlsch_SI_errors[0]);
|
||||
len += sprintf(&buffer[len], "[UE PROC] DLSCH (RA) Total %d, Error %d\n",ue->dlsch_ra_received[0],ue->dlsch_ra_errors[0]);
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
int i=0;
|
||||
|
||||
//len += sprintf(&buffer[len], "[UE PROC] MCH Total %d\n", ue->dlsch_mch_received[0]);
|
||||
|
||||
@@ -104,7 +104,7 @@ void phy_procedures_eNB_lte(uint8_t subframe,PHY_VARS_eNB **phy_vars_eNB,uint8_t
|
||||
*/
|
||||
void phy_procedures_UE_lte(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t abstraction_flag,runmode_t mode,relaying_type_t r_type,PHY_VARS_RN *phy_vars_rn);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/*! \brief Top-level entry routine for relay node procedures when acting as eNB. This proc will make us of the existing eNB procs.
|
||||
@param last_slot Index of last slot (0-19)
|
||||
@param next_slot Index of next_slot (0-19)
|
||||
|
||||
@@ -407,7 +407,7 @@ DCI_PDU DCI_pdu_tmp;
|
||||
void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,PHY_VARS_RN *rn,relaying_type_t r_type) {
|
||||
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
MCH_PDU *mch_pduP;
|
||||
MCH_PDU mch_pdu;
|
||||
// uint8_t sync_area=255;
|
||||
@@ -423,7 +423,7 @@ void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,PHY_VARS_RN *rn,rel
|
||||
subframe<<1,1);
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
// 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
|
||||
mch_pduP = mac_xface->get_mch_sdu(eNB->Mod_id,
|
||||
@@ -3499,7 +3499,7 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const
|
||||
|
||||
#undef DEBUG_PHY_PROC
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
int phy_procedures_RN_eNB_TX(unsigned char last_slot, unsigned char next_slot, relaying_type_t r_type)
|
||||
{
|
||||
|
||||
|
||||
@@ -3010,7 +3010,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",
|
||||
ue->Mod_id,(subframe_rx==9?-1:0)+frame_rx,subframe_rx);
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
pmch_mcs = mac_xface->ue_query_mch(ue->Mod_id,
|
||||
CC_id,
|
||||
frame_rx,
|
||||
@@ -3108,7 +3108,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
|
||||
if (subframe_rx==9)
|
||||
mac_xface->macphy_exit("Why are we exiting here?");
|
||||
} else { // decoding successful
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (mcch_active == 1) {
|
||||
mac_xface->ue_send_mch_sdu(ue->Mod_id,
|
||||
@@ -3130,7 +3130,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
|
||||
|
||||
|
||||
}
|
||||
#endif // Rel10
|
||||
#endif // Rel10 || Rel14
|
||||
} // decoding sucessful
|
||||
} // pmch_mcs>=0
|
||||
} // is_pmch_subframe=true
|
||||
@@ -4032,7 +4032,7 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
|
||||
return (0);
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
int phy_procedures_RN_UE_RX(uint8_t slot_rx, uint8_t next_slot, relaying_type_t r_type)
|
||||
{
|
||||
|
||||
@@ -4128,7 +4128,7 @@ void phy_procedures_UE_lte(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,u
|
||||
|
||||
if ((subframe_select(&ue->frame_parms,subframe_rx)==SF_DL) ||
|
||||
(ue->frame_parms.frame_type == FDD)) {
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (phy_procedures_RN_UE_RX(subframe_rx, subframe_tx, r_type) != 0 )
|
||||
#endif
|
||||
@@ -4142,7 +4142,7 @@ void phy_procedures_UE_lte(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,u
|
||||
|
||||
if ((subframe_select(&ue->frame_parms,subframe_rx)==SF_S) &&
|
||||
(slot==0)) {
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (phy_procedures_RN_UE_RX(subframe_rx, subframe_tx, r_type) != 0 )
|
||||
#endif
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "RadioResourceConfigCommonSIB.h"
|
||||
#include "RadioResourceConfigDedicated.h"
|
||||
#include "MeasGapConfig.h"
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "MBSFN-AreaInfoList-r9.h"
|
||||
#include "MBSFN-SubframeConfigList.h"
|
||||
#endif
|
||||
@@ -380,7 +380,7 @@ typedef struct {
|
||||
TDD_Config_t *tdd_Config,
|
||||
uint8_t *SIwindowsize,
|
||||
uint16_t *SIperiod
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
MBMS_flag_t MBMS_Flag,
|
||||
struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList,
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
#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 */
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#define NB_RB_MBMS_MAX (maxSessionPerPMCH*maxServiceCount)
|
||||
#else
|
||||
// Do not allocate unused memory
|
||||
|
||||
@@ -122,7 +122,7 @@ typedef struct RrcConfigurationReq_s {
|
||||
long pucch_delta_shift[MAX_NUM_CCs];
|
||||
long pucch_nRB_CQI[MAX_NUM_CCs];
|
||||
long pucch_nCS_AN[MAX_NUM_CCs];
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
long pucch_n1_AN[MAX_NUM_CCs];
|
||||
#endif
|
||||
long pdsch_referenceSignalPower[MAX_NUM_CCs];
|
||||
|
||||
@@ -151,7 +151,7 @@ static void configure_rrc(uint32_t enb_id, const Enb_properties_array_t *enb_pro
|
||||
RRC_CONFIGURATION_REQ (msg_p).pucch_delta_shift[CC_id] = enb_properties->properties[enb_id]->pucch_delta_shift[CC_id];
|
||||
RRC_CONFIGURATION_REQ (msg_p).pucch_nRB_CQI[CC_id] = enb_properties->properties[enb_id]->pucch_nRB_CQI[CC_id];
|
||||
RRC_CONFIGURATION_REQ (msg_p).pucch_nCS_AN[CC_id] = enb_properties->properties[enb_id]->pucch_nCS_AN[CC_id];
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
RRC_CONFIGURATION_REQ (msg_p).pucch_n1_AN[CC_id] = enb_properties->properties[enb_id]->pucch_n1_AN[CC_id];
|
||||
#endif
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
#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_NCS_AN "pucch_nCS_AN"
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
#define ENB_CONFIG_STRING_PUCCH_N1_AN "pucch_n1_AN"
|
||||
#endif
|
||||
#define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower"
|
||||
@@ -418,7 +418,7 @@ void enb_config_display(void)
|
||||
printf( "\tpucch_delta_shift for CC %d:\t%ld:\n",j,enb_properties.properties[i]->pucch_delta_shift[j]);
|
||||
printf( "\tpucch_nRB_CQI for CC %d:\t%ld:\n",j,enb_properties.properties[i]->pucch_nRB_CQI[j]);
|
||||
printf( "\tpucch_nCS_AN for CC %d:\t%ld:\n",j,enb_properties.properties[i]->pucch_nCS_AN[j]);
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
printf( "\tpucch_n1_AN for CC %d:\t%ld:\n",j,enb_properties.properties[i]->pucch_n1_AN[j]);
|
||||
#endif
|
||||
|
||||
@@ -589,7 +589,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
|
||||
libconfig_int pucch_delta_shift = 0;
|
||||
libconfig_int pucch_nRB_CQI = 0;
|
||||
libconfig_int pucch_nCS_AN = 0;
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
libconfig_int pucch_n1_AN = 0;
|
||||
#endif
|
||||
libconfig_int pdsch_referenceSignalPower = 0;
|
||||
@@ -868,7 +868,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
|
||||
&& config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, &pucch_delta_shift)
|
||||
&& config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_NRB_CQI, &pucch_nRB_CQI)
|
||||
&& config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_NCS_AN, &pucch_nCS_AN)
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
&& config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_N1_AN, &pucch_n1_AN)
|
||||
#endif
|
||||
&& config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower)
|
||||
@@ -913,7 +913,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
|
||||
&& config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311)
|
||||
&& config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode)
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
#endif
|
||||
)) {
|
||||
@@ -1162,7 +1162,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
|
||||
"Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n",
|
||||
lib_config_file_name_pP, i, pucch_nCS_AN);
|
||||
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
enb_properties.properties[enb_properties_index]->pucch_n1_AN[j] = pucch_n1_AN;
|
||||
|
||||
if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047))
|
||||
@@ -1347,21 +1347,21 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
|
||||
lib_config_file_name_pP, i, pusch_p0_Nominal);
|
||||
|
||||
if (strcmp(pusch_alpha,"AL0")==0) {
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0;
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al0;
|
||||
} else if (strcmp(pusch_alpha,"AL04")==0) {
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al04;
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al04;
|
||||
} else if (strcmp(pusch_alpha,"AL05")==0) {
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al05;
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al05;
|
||||
} else if (strcmp(pusch_alpha,"AL06")==0) {
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al06;
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al06;
|
||||
} else if (strcmp(pusch_alpha,"AL07")==0) {
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al07;
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al07;
|
||||
} else if (strcmp(pusch_alpha,"AL08")==0) {
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al08;
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al08;
|
||||
} else if (strcmp(pusch_alpha,"AL09")==0) {
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al09;
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al08;
|
||||
} else if (strcmp(pusch_alpha,"AL1")==0) {
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1;
|
||||
enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al1;
|
||||
} else
|
||||
AssertFatal (0,
|
||||
"Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_Alpha choice: AL0,AL04,AL05,AL06,AL07,AL08,AL09,AL1!\n",
|
||||
@@ -1553,47 +1553,47 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
|
||||
|
||||
switch (rach_preambleTransMax) {
|
||||
case 3:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n3;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n4;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n5;
|
||||
break;
|
||||
|
||||
case 6:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n6;
|
||||
break;
|
||||
|
||||
case 7:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n7;
|
||||
break;
|
||||
|
||||
case 8:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n8;
|
||||
break;
|
||||
|
||||
case 10:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n10;
|
||||
break;
|
||||
|
||||
case 20:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n20;
|
||||
break;
|
||||
|
||||
case 50:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n50;
|
||||
break;
|
||||
|
||||
case 100:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n100;
|
||||
break;
|
||||
|
||||
case 200:
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200;
|
||||
enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] = PreambleTransMax_n200;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -154,7 +154,7 @@ typedef struct Enb_properties_s {
|
||||
long pucch_delta_shift[1+MAX_NUM_CCs];
|
||||
long pucch_nRB_CQI[1+MAX_NUM_CCs];
|
||||
long pucch_nCS_AN[1+MAX_NUM_CCs];
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
long pucch_n1_AN[1+MAX_NUM_CCs];
|
||||
#endif
|
||||
long pdsch_referenceSignalPower[1+MAX_NUM_CCs];
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#include "extern.h"
|
||||
#include "UTIL/LOG/log.h"
|
||||
#include "UTIL/LOG/vcd_signal_dumper.h"
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "MBSFN-AreaInfoList-r9.h"
|
||||
#include "MBSFN-AreaInfo-r9.h"
|
||||
#include "MBSFN-SubframeConfigList.h"
|
||||
@@ -93,7 +93,7 @@ rrc_mac_config_req(
|
||||
uint8_t eNB_index,
|
||||
RadioResourceConfigCommonSIB_t *radioResourceConfigCommon,
|
||||
struct PhysicalConfigDedicated *physicalConfigDedicated,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
SCellToAddMod_r10_t *sCellToAddMod_r10,
|
||||
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
|
||||
#endif
|
||||
@@ -110,7 +110,7 @@ rrc_mac_config_req(
|
||||
long *ul_Bandwidth,
|
||||
AdditionalSpectrumEmission_t *additionalSpectrumEmission,
|
||||
struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,uint8_t MBMS_Flag,
|
||||
MBSFN_AreaInfoList_r9_t *mbsfn_AreaInfoList,
|
||||
PMCH_InfoList_r9_t *pmch_InfoList
|
||||
@@ -217,7 +217,7 @@ rrc_mac_config_req(
|
||||
if (mac_MainConfig->ul_SCH_Config->periodicBSR_Timer) {
|
||||
UE_mac_inst[Mod_idP].scheduling_info.periodicBSR_Timer = (uint16_t) *mac_MainConfig->ul_SCH_Config->periodicBSR_Timer;
|
||||
} else {
|
||||
UE_mac_inst[Mod_idP].scheduling_info.periodicBSR_Timer = (uint16_t) MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity;
|
||||
UE_mac_inst[Mod_idP].scheduling_info.periodicBSR_Timer = (uint16_t) PeriodicBSR_Timer_r12_infinity;
|
||||
}
|
||||
|
||||
if (mac_MainConfig->ul_SCH_Config->maxHARQ_Tx) {
|
||||
@@ -230,11 +230,11 @@ rrc_mac_config_req(
|
||||
if (mac_MainConfig->ul_SCH_Config->retxBSR_Timer) {
|
||||
UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer = (uint16_t) mac_MainConfig->ul_SCH_Config->retxBSR_Timer;
|
||||
} else {
|
||||
UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer = (uint16_t)MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560;
|
||||
UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer = (uint16_t)RetxBSR_Timer_r12_sf2560;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (mac_MainConfig->ext1 && mac_MainConfig->ext1->sr_ProhibitTimer_r9) {
|
||||
UE_mac_inst[Mod_idP].scheduling_info.sr_ProhibitTimer = (uint16_t) *mac_MainConfig->ext1->sr_ProhibitTimer_r9;
|
||||
@@ -310,7 +310,7 @@ rrc_mac_config_req(
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (sCellToAddMod_r10 != NULL) {
|
||||
|
||||
@@ -449,7 +449,7 @@ rrc_mac_config_req(
|
||||
eNB_mac_inst[Mod_idP].common_channels[0].mbsfn_SubframeConfig[i]->subframeAllocation.choice.oneFrame.buf[0]);
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
eNB_mac_inst[Mod_idP].common_channels[0].MBMS_flag = MBMS_Flag;
|
||||
#endif
|
||||
} else { // UE
|
||||
@@ -465,7 +465,7 @@ rrc_mac_config_req(
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (mbsfn_AreaInfoList != NULL) {
|
||||
if (eNB_flagP == 1) {
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
#include "RACH-ConfigCommon.h"
|
||||
#include "MeasObjectToAddModList.h"
|
||||
#include "MobilityControlInfo.h"
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "MBSFN-AreaInfoList-r9.h"
|
||||
#include "MBSFN-SubframeConfigList.h"
|
||||
#include "PMCH-InfoList-r9.h"
|
||||
@@ -80,7 +80,7 @@
|
||||
#define SCH_PAYLOAD_SIZE_MAX 4096
|
||||
/// Logical channel ids from 36-311 (Note BCCH is not specified in 36-311, uses the same as first DRB)
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
// Mask for identifying subframe for MBMS
|
||||
#define MBSFN_TDD_SF3 0x80// for TDD
|
||||
@@ -276,7 +276,7 @@ typedef struct {
|
||||
uint8_t payload[PCCH_PAYLOAD_SIZE_MAX] ;
|
||||
} __attribute__((__packed__))PCCH_PDU;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/*! \brief MCCH payload */
|
||||
typedef struct {
|
||||
uint8_t payload[MCCH_PAYLOAD_SIZE_MAX] ;
|
||||
@@ -327,7 +327,7 @@ typedef struct {
|
||||
/*!\brief LCID of padding LCID for DLSCH */
|
||||
#define SHORT_PADDING 31
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
// MCH LCHAN IDs (table6.2.1-4 TS36.321)
|
||||
/*!\brief LCID of MCCH for DL */
|
||||
#define MCCH_LCHANID 0
|
||||
@@ -889,7 +889,7 @@ typedef struct {
|
||||
struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8];
|
||||
/// number of subframe allocation pattern available for MBSFN sync area
|
||||
uint8_t num_sf_allocation_pattern;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/// MBMS Flag
|
||||
uint8_t MBMS_flag;
|
||||
/// Outgoing MCCH pdu for PHY
|
||||
@@ -1058,7 +1058,7 @@ typedef struct {
|
||||
struct RACH_ConfigDedicated *rach_ConfigDedicated;
|
||||
/// pointer to RRC PHY configuration
|
||||
struct PhysicalConfigDedicated *physicalConfigDedicated;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/// pointer to RRC PHY configuration SCEll
|
||||
struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10;
|
||||
#endif
|
||||
@@ -1132,7 +1132,7 @@ typedef struct {
|
||||
struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8]; // FIXME replace 8 by MAX_MBSFN_AREA?
|
||||
/// number of subframe allocation pattern available for MBSFN sync area
|
||||
uint8_t num_sf_allocation_pattern;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/// number of active MBSFN area
|
||||
uint8_t num_active_mbsfn_area;
|
||||
/// MBSFN Area Info
|
||||
|
||||
@@ -127,7 +127,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
|
||||
for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
|
||||
DCI_pdu[CC_id]->Num_common_dci = 0;
|
||||
DCI_pdu[CC_id]->Num_ue_spec_dci = 0;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
eNB_mac_inst[module_idP].common_channels[CC_id].mcch_active =0;
|
||||
#endif
|
||||
eNB_mac_inst[module_idP].frame = frameP;
|
||||
@@ -305,7 +305,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
|
||||
// TODO process CCCH data req.
|
||||
break;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
case RRC_MAC_MCCH_DATA_REQ:
|
||||
LOG_D(MAC, "Received %s from %s: instance %d, frameP %d, eNB_index %d, mbsfn_sync_area %d\n",
|
||||
@@ -346,7 +346,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
|
||||
0, // eNB index, unused in eNB
|
||||
CC_id);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
|
||||
if (eNB_mac_inst[module_idP].common_channels[CC_id].MBMS_flag >0) {
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
#define DEBUG_eNB_SCHEDULER 1
|
||||
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
int8_t get_mbsfn_sf_alloction (module_id_t module_idP, uint8_t CC_id, uint8_t mbsfn_sync_area)
|
||||
{
|
||||
// currently there is one-to-one mapping between sf allocation pattern and sync area
|
||||
@@ -466,7 +466,7 @@ int schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP, sub_fra
|
||||
}
|
||||
|
||||
TBS = mac_xface->get_TBS_DL(eNB_mac_inst[module_idP].common_channels[CC_id].MCH_pdu.mcs, mac_xface->frame_parms->N_RB_DL);
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
// do not let mcch and mtch multiplexing when relaying is active
|
||||
// for sync area 1, so not transmit data
|
||||
//if ((i == 0) && ((eNB_mac_inst[module_idP].MBMS_flag != multicast_relay) || (eNB_mac_inst[module_idP].mcch_active==0))) {
|
||||
@@ -538,7 +538,7 @@ int schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP, sub_fra
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
// }
|
||||
#endif
|
||||
|
||||
|
||||
@@ -525,7 +525,7 @@ void swap_UEs(UE_list_t *listP,int nodeiP, int nodejP, int ul_flag)
|
||||
|
||||
|
||||
/*
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
unsigned char generate_mch_header( unsigned char *mac_header,
|
||||
unsigned char num_sdus,
|
||||
unsigned short *sdu_lengths,
|
||||
|
||||
@@ -181,7 +181,7 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui
|
||||
#ifdef PHY_EMUL
|
||||
Mac_rlc_xface->Is_cluster_head[Mod_id]=2;//0: MR, 1: CH, 2: not CH neither MR
|
||||
#endif
|
||||
/*#ifdef Rel10
|
||||
/*#if defined(Rel10) || defined(Rel14)
|
||||
int n;
|
||||
for (n=0;n<4096;n++)
|
||||
eNB_mac_inst[Mod_id].MCH_pdu.payload[n] = taus();
|
||||
@@ -479,7 +479,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, char *uecap_xer,ui
|
||||
mac_xface->ue_decode_si = ue_decode_si;
|
||||
mac_xface->ue_decode_p = ue_decode_p;
|
||||
mac_xface->ue_send_sdu = ue_send_sdu;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
mac_xface->ue_send_mch_sdu = ue_send_mch_sdu;
|
||||
mac_xface->ue_query_mch = ue_query_mch;
|
||||
#endif
|
||||
@@ -517,7 +517,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, char *uecap_xer,ui
|
||||
mac_xface->phy_config_sib2_eNB = phy_config_sib2_eNB;
|
||||
mac_xface->phy_config_sib2_ue = phy_config_sib2_ue;
|
||||
mac_xface->phy_config_afterHO_ue = phy_config_afterHO_ue;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
mac_xface->phy_config_sib13_eNB = phy_config_sib13_eNB;
|
||||
mac_xface->phy_config_sib13_ue = phy_config_sib13_ue;
|
||||
#endif
|
||||
@@ -542,7 +542,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, char *uecap_xer,ui
|
||||
mac_xface->get_prach_prb_offset = get_prach_prb_offset;
|
||||
mac_xface->is_prach_subframe = is_prach_subframe;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
mac_xface->get_mch_sdu = get_mch_sdu;
|
||||
mac_xface->phy_config_dedicated_scell_eNB= phy_config_dedicated_scell_eNB;
|
||||
mac_xface->phy_config_dedicated_scell_ue= phy_config_dedicated_scell_ue;
|
||||
|
||||
@@ -405,7 +405,7 @@ void ue_decode_p(module_id_t module_idP, int CC_id,frame_t frame, uint8_t CH_ind
|
||||
void ue_send_sdu(module_id_t module_idP, uint8_t CC_id,frame_t frame, sub_frame_t subframe, uint8_t *sdu,uint16_t sdu_len,uint8_t CH_index);
|
||||
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/* \brief Called by PHY to transfer MCH transport block to ue MAC.
|
||||
@param Mod_id Index of module instance
|
||||
@param frame Frame index
|
||||
@@ -754,7 +754,7 @@ int rrc_mac_config_req(module_id_t module_idP,
|
||||
uint8_t eNB_index,
|
||||
RadioResourceConfigCommonSIB_t *radioResourceConfigCommon,
|
||||
struct PhysicalConfigDedicated *physicalConfigDedicated,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
SCellToAddMod_r10_t *sCellToAddMod_r10,
|
||||
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
|
||||
#endif
|
||||
@@ -771,7 +771,7 @@ int rrc_mac_config_req(module_id_t module_idP,
|
||||
long *ul_Bandwidth,
|
||||
AdditionalSpectrumEmission_t *additionalSpectrumEmission,
|
||||
struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
uint8_t MBMS_Flag,
|
||||
MBSFN_AreaInfoList_r9_t *mbsfn_AreaInfoList,
|
||||
|
||||
@@ -499,37 +499,37 @@ PRACH_RESOURCES_t *ue_get_rach(module_id_t module_idP,int CC_id,frame_t frameP,
|
||||
(rach_ConfigCommon->powerRampingParameters.powerRampingStep<<1); // 2dB increments in ASN.1 definition
|
||||
int preambleTransMax = -1;
|
||||
switch (rach_ConfigCommon->ra_SupervisionInfo.preambleTransMax) {
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3:
|
||||
case PreambleTransMax_n3:
|
||||
preambleTransMax = 3;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4:
|
||||
case PreambleTransMax_n4:
|
||||
preambleTransMax = 4;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5:
|
||||
case PreambleTransMax_n5:
|
||||
preambleTransMax = 5;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6:
|
||||
case PreambleTransMax_n6:
|
||||
preambleTransMax = 6;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7:
|
||||
case PreambleTransMax_n7:
|
||||
preambleTransMax = 7;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8:
|
||||
case PreambleTransMax_n8:
|
||||
preambleTransMax = 8;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10:
|
||||
case PreambleTransMax_n10:
|
||||
preambleTransMax = 10;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20:
|
||||
case PreambleTransMax_n20:
|
||||
preambleTransMax = 20;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50:
|
||||
case PreambleTransMax_n50:
|
||||
preambleTransMax = 50;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100:
|
||||
case PreambleTransMax_n100:
|
||||
preambleTransMax = 100;
|
||||
break;
|
||||
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200:
|
||||
case PreambleTransMax_n200:
|
||||
preambleTransMax = 200;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -93,8 +93,8 @@ void ue_init_mac(module_id_t module_idP)
|
||||
// default values as deined in 36.331 sec 9.2.2
|
||||
LOG_I(MAC,"[UE%d] Applying default macMainConfig\n",module_idP);
|
||||
//UE_mac_inst[module_idP].scheduling_info.macConfig=NULL;
|
||||
UE_mac_inst[module_idP].scheduling_info.retxBSR_Timer= MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf10240;
|
||||
UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer=MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity;
|
||||
UE_mac_inst[module_idP].scheduling_info.retxBSR_Timer= RetxBSR_Timer_r12_sf10240;
|
||||
UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer=PeriodicBSR_Timer_r12_infinity;
|
||||
UE_mac_inst[module_idP].scheduling_info.periodicPHR_Timer = MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20;
|
||||
UE_mac_inst[module_idP].scheduling_info.prohibitPHR_Timer = MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20;
|
||||
UE_mac_inst[module_idP].scheduling_info.PathlossChange_db = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;
|
||||
@@ -579,7 +579,7 @@ void ue_decode_p(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_in
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
unsigned char *parse_mch_header(unsigned char *mac_header,
|
||||
unsigned char *num_sdu,
|
||||
unsigned char *rx_lcids,
|
||||
@@ -1352,7 +1352,7 @@ void ue_get_sdu(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_t subf
|
||||
}
|
||||
|
||||
// periodicBSR-Timer expires, trigger BSR
|
||||
if ((UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer != MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity)
|
||||
if ((UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer != PeriodicBSR_Timer_r12_infinity)
|
||||
&& (UE_mac_inst[module_idP].scheduling_info.periodicBSR_SF == 0)){
|
||||
// Trigger BSR Periodic
|
||||
UE_mac_inst[module_idP].BSR_reporting_active |= BSR_TRIGGER_PERIODIC;
|
||||
@@ -1904,7 +1904,7 @@ if (UE_mac_inst[module_idP].scheduling_info.LCID_status[lcid] == LCID_NOT_EMPTY)
|
||||
UE_mac_inst[module_idP].scheduling_info.retxBSR_SF);
|
||||
|
||||
// Reset Periodic Timer except when BSR is truncated
|
||||
if ((bsr_t == NULL) && (UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer != MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity))
|
||||
if ((bsr_t == NULL) && (UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer != PeriodicBSR_Timer_r12_infinity))
|
||||
{
|
||||
UE_mac_inst[module_idP].scheduling_info.periodicBSR_SF = get_sf_periodicBSRTimer(UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer);
|
||||
|
||||
@@ -2530,63 +2530,63 @@ int get_sf_periodicBSRTimer(uint8_t sf_offset)
|
||||
{
|
||||
|
||||
switch (sf_offset) {
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf5:
|
||||
case PeriodicBSR_Timer_r12_sf5:
|
||||
return 5;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf10:
|
||||
case PeriodicBSR_Timer_r12_sf10:
|
||||
return 10;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf16:
|
||||
case PeriodicBSR_Timer_r12_sf16:
|
||||
return 16;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf20:
|
||||
case PeriodicBSR_Timer_r12_sf20:
|
||||
return 20;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf32:
|
||||
case PeriodicBSR_Timer_r12_sf32:
|
||||
return 32;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf40:
|
||||
case PeriodicBSR_Timer_r12_sf40:
|
||||
return 40;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf64:
|
||||
case PeriodicBSR_Timer_r12_sf64:
|
||||
return 64;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf80:
|
||||
case PeriodicBSR_Timer_r12_sf80:
|
||||
return 80;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf128:
|
||||
case PeriodicBSR_Timer_r12_sf128:
|
||||
return 128;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf160:
|
||||
case PeriodicBSR_Timer_r12_sf160:
|
||||
return 160;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf320:
|
||||
case PeriodicBSR_Timer_r12_sf320:
|
||||
return 320;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf640:
|
||||
case PeriodicBSR_Timer_r12_sf640:
|
||||
return 640;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf1280:
|
||||
case PeriodicBSR_Timer_r12_sf1280:
|
||||
return 1280;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf2560:
|
||||
case PeriodicBSR_Timer_r12_sf2560:
|
||||
return 2560;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity:
|
||||
case PeriodicBSR_Timer_r12_infinity:
|
||||
default:
|
||||
return 0xFFFF;
|
||||
break;
|
||||
@@ -2597,27 +2597,27 @@ int get_sf_retxBSRTimer(uint8_t sf_offset)
|
||||
{
|
||||
|
||||
switch (sf_offset) {
|
||||
case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf320:
|
||||
case RetxBSR_Timer_r12_sf320:
|
||||
return 320;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf640:
|
||||
case RetxBSR_Timer_r12_sf640:
|
||||
return 640;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf1280:
|
||||
case RetxBSR_Timer_r12_sf1280:
|
||||
return 1280;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560:
|
||||
case RetxBSR_Timer_r12_sf2560:
|
||||
return 2560;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf5120:
|
||||
case RetxBSR_Timer_r12_sf5120:
|
||||
return 5120;
|
||||
break;
|
||||
|
||||
case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf10240:
|
||||
case RetxBSR_Timer_r12_sf10240:
|
||||
return 10240;
|
||||
break;
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ DCI1A_5MHz_TDD_1_6_t BCCH_alloc_pdu;
|
||||
DCI1A_5MHz_TDD_1_6_t CCCH_alloc_pdu;
|
||||
DCI1_5MHz_TDD_t DLSCH_alloc_pdu;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
DCI1C_5MHz_t MCCH_alloc_pdu;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1070,7 +1070,7 @@ rrc_pdcp_config_asn1_req (
|
||||
uint8_t *const kRRCenc_pP,
|
||||
uint8_t *const kRRCint_pP,
|
||||
uint8_t *const kUPenc_pP
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,PMCH_InfoList_r9_t* const pmch_InfoList_r9_pP
|
||||
#endif
|
||||
,rb_id_t *const defaultDRB
|
||||
@@ -1097,7 +1097,7 @@ rrc_pdcp_config_asn1_req (
|
||||
hashtable_rc_t h_rc;
|
||||
hash_key_t key_defaultDRB = HASHTABLE_NOT_A_KEY_VALUE;
|
||||
hashtable_rc_t h_defaultDRB_rc;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
int i,j;
|
||||
MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
|
||||
MBMS_SessionInfo_r9_t *MBMS_SessionInfo_p = NULL;
|
||||
@@ -1395,7 +1395,7 @@ rrc_pdcp_config_asn1_req (
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (pmch_InfoList_r9_pP != NULL) {
|
||||
for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) {
|
||||
@@ -1590,7 +1590,7 @@ pdcp_config_req_asn1 (
|
||||
|
||||
memset(pdcp_pP, 0, sizeof(pdcp_t));
|
||||
break;
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
case CONFIG_ACTION_MBMS_ADD:
|
||||
case CONFIG_ACTION_MBMS_MODIFY:
|
||||
@@ -1908,7 +1908,7 @@ void pdcp_layer_init(void)
|
||||
{
|
||||
|
||||
module_id_t instance;
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
mbms_session_id_t session_id;
|
||||
mbms_service_id_t service_id;
|
||||
#endif
|
||||
@@ -1920,7 +1920,7 @@ void pdcp_layer_init(void)
|
||||
AssertFatal(pdcp_coll_p != NULL, "UNRECOVERABLE error, PDCP hashtable_create failed");
|
||||
|
||||
for (instance = 0; instance < NUMBER_OF_UE_MAX; instance++) {
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
for (service_id = 0; service_id < maxServiceCount; service_id++) {
|
||||
for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) {
|
||||
@@ -1934,7 +1934,7 @@ void pdcp_layer_init(void)
|
||||
|
||||
|
||||
for (instance = 0; instance < NUMBER_OF_eNB_MAX; instance++) {
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
for (service_id = 0; service_id < maxServiceCount; service_id++) {
|
||||
for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) {
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
#include "DRB-ToAddModList.h"
|
||||
#include "SRB-ToAddMod.h"
|
||||
#include "SRB-ToAddModList.h"
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "MBMS-SessionInfoList-r9.h"
|
||||
#include "PMCH-InfoList-r9.h"
|
||||
#endif
|
||||
@@ -184,7 +184,7 @@ typedef struct pdcp_s {
|
||||
|
||||
} pdcp_t;
|
||||
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
typedef struct pdcp_mbms_s {
|
||||
boolean_t instanciated_instance;
|
||||
rb_id_t rb_id;
|
||||
@@ -284,7 +284,7 @@ public_pdcp(
|
||||
uint8_t *const kRRCenc,
|
||||
uint8_t *const kRRCint,
|
||||
uint8_t *const kUPenc
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,PMCH_InfoList_r9_t *pmch_InfoList_r9
|
||||
#endif
|
||||
,rb_id_t *const defaultDRB
|
||||
@@ -448,7 +448,7 @@ public_pdcp(pdcp_stats_t eNB_pdcp_stats[NUMBER_OF_eNB_MAX];)
|
||||
protected_pdcp(rnti_t pdcp_UE_UE_module_id_to_rnti[NUMBER_OF_UE_MAX];)
|
||||
protected_pdcp(rnti_t pdcp_eNB_UE_instance_to_rnti[NUMBER_OF_UE_MAX];) // for noS1 mode
|
||||
protected_pdcp(unsigned int pdcp_eNB_UE_instance_to_rnti_index;)
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
public_pdcp(pdcp_mbms_t pdcp_mbms_array_ue[NUMBER_OF_UE_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
|
||||
|
||||
@@ -431,7 +431,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 */ ||
|
||||
(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 */ ) {
|
||||
#if defined (Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
PDCP_TRANSMISSION_MODE_TRANSPARENT;
|
||||
#else
|
||||
pdcp_mode= PDCP_TRANSMISSION_MODE_DATA;
|
||||
|
||||
@@ -153,9 +153,15 @@ config_req_rlc_am (
|
||||
uint32_t pollPDU_tab[PollPDU_pInfinity+1]= {4,8,16,32,64,128,256,1024}; // What is PollPDU_pInfinity??? 1024 for now
|
||||
uint32_t maxRetxThreshold_tab[UL_AM_RLC__maxRetxThreshold_t32+1]= {1,2,3,4,6,8,16,32};
|
||||
uint32_t pollByte_tab[PollByte_spare1]= {25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,10000}; // What is PollByte_kBinfinity??? 10000 for now
|
||||
#if defined(Rel14)
|
||||
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 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};
|
||||
#else
|
||||
uint32_t PollRetransmit_tab[T_PollRetransmit_spare9]= {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};
|
||||
uint32_t am_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};
|
||||
uint32_t t_StatusProhibit_tab[T_StatusProhibit_spare8]= {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};
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void config_req_rlc_am_asn1 (
|
||||
@@ -178,9 +184,15 @@ void config_req_rlc_am_asn1 (
|
||||
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.pollByte<PollByte_spare1) &&
|
||||
#if defined(Rel14)
|
||||
(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_StatusProhibit<T_StatusProhibit_spare2) ) {
|
||||
#else
|
||||
(config_am_pP->ul_AM_RLC.t_PollRetransmit<T_PollRetransmit_spare9) &&
|
||||
(config_am_pP->dl_AM_RLC.t_Reordering<T_Reordering_spare1) &&
|
||||
(config_am_pP->dl_AM_RLC.t_StatusProhibit<T_StatusProhibit_spare8) ) {
|
||||
#endif
|
||||
|
||||
MSC_LOG_RX_MESSAGE(
|
||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
||||
|
||||
@@ -78,7 +78,11 @@ void config_req_rlc_um (
|
||||
}
|
||||
}
|
||||
//-----------------------------------------------------------------------------
|
||||
#if defined(Rel14)
|
||||
const uint32_t const 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
|
||||
const uint32_t const 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};
|
||||
#endif
|
||||
|
||||
void config_req_rlc_um_asn1 (
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
@@ -99,7 +103,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);
|
||||
hashtable_rc_t h_rc;
|
||||
|
||||
#if Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (mbms_flagP) {
|
||||
AssertFatal(dl_rlc_pP, "No RLC UM DL config");
|
||||
@@ -194,7 +198,11 @@ void config_req_rlc_um_asn1 (
|
||||
return;
|
||||
}
|
||||
|
||||
#if defined(Rel14)
|
||||
if (dl_rlc_pP->t_Reordering<32) {
|
||||
#else
|
||||
if (dl_rlc_pP->t_Reordering<T_Reordering_spare1) {
|
||||
#endif
|
||||
t_Reordering = t_Reordering_tab[dl_rlc_pP->t_Reordering];
|
||||
} else {
|
||||
LOG_E(RLC,PROTOCOL_RLC_UM_CTXT_FMT" [CONFIGURE] RB %u INVALID T_Reordering %ld, RLC NOT CONFIGURED\n",
|
||||
|
||||
@@ -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;
|
||||
hashtable_rc_t h_rc;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
rlc_mbms_id_t *mbms_id_p = NULL;
|
||||
logical_chan_id_t log_ch_id = 0;
|
||||
#endif
|
||||
@@ -342,7 +342,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
|
||||
sdu_sizeP,
|
||||
sdu_pP);
|
||||
#endif
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#else
|
||||
AssertFatal(MBMS_flagP == 0, "MBMS_flagP %u", MBMS_flagP);
|
||||
#endif
|
||||
@@ -366,13 +366,13 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
|
||||
DevAssert(sdu_pP != NULL);
|
||||
DevCheck(sdu_sizeP > 0, sdu_sizeP, 0, 0);
|
||||
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
DevCheck(MBMS_flagP == 0, MBMS_flagP, 0, 0);
|
||||
#endif
|
||||
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_IN);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (MBMS_flagP == TRUE) {
|
||||
if (ctxt_pP->enb_flag) {
|
||||
@@ -499,7 +499,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
|
||||
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
} else { /* MBMS_flag != 0 */
|
||||
// LOG_I(RLC,"DUY rlc_data_req: mbms_rb_id in RLC instant is: %d\n", mbms_rb_id);
|
||||
if (sdu_pP != NULL) {
|
||||
@@ -538,7 +538,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
|
||||
else /* MBMS_flag != 0 */
|
||||
{
|
||||
free_mem_block(sdu_pP, __func__);
|
||||
LOG_E(RLC, "MBMS_flag != 0 while Rel10 is not defined...\n");
|
||||
LOG_E(RLC, "MBMS_flag != 0 while Rel10/Rel14 is not defined...\n");
|
||||
//handle_event(ERROR,"FILE %s FONCTION rlc_data_req() LINE %s : parameter module_id out of bounds :%d\n", __FILE__, __LINE__, module_idP);
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
|
||||
return RLC_OP_STATUS_BAD_PARAMETER;
|
||||
@@ -617,7 +617,7 @@ rlc_module_init (void)
|
||||
AssertFatal(rlc_coll_p != NULL, "UNRECOVERABLE error, RLC hashtable_create failed");
|
||||
|
||||
for (module_id1=0; module_id1 < NUMBER_OF_UE_MAX; module_id1++) {
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
for (k=0; k < RLC_MAX_MBMS_LC; k++) {
|
||||
rlc_mbms_lcid2service_session_id_ue[module_id1][k].service_id = 0;
|
||||
@@ -632,7 +632,7 @@ rlc_module_init (void)
|
||||
}
|
||||
|
||||
for (module_id1=0; module_id1 < NUMBER_OF_eNB_MAX; module_id1++) {
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
for (k=0; k < RLC_MAX_MBMS_LC; k++) {
|
||||
rlc_mbms_lcid2service_session_id_eNB[module_id1][k].service_id = 0;
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
# include "SRB-ToAddModList.h"
|
||||
# include "DRB-ToReleaseList.h"
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "PMCH-InfoList-r9.h"
|
||||
#endif
|
||||
|
||||
@@ -224,7 +224,7 @@ typedef struct rlc_mbms_id_s {
|
||||
mbms_session_id_t session_id;
|
||||
} rlc_mbms_id_t;
|
||||
|
||||
#if !defined(Rel10)
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
# if !defined(maxServiceCount)
|
||||
//unused arrays rlc_mbms_array_ue rlc_mbms_array_eNB
|
||||
# define maxServiceCount 1
|
||||
@@ -309,7 +309,7 @@ private_rlc_mac(struct mac_data_ind mac_rlc_deserialize_tb (char*, tb_size_t,
|
||||
//-----------------------------------------------------------------------------
|
||||
// PUBLIC INTERFACE WITH RRC
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/*! \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.
|
||||
* \param[in] ctxtP Running context.
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#include "SRB-ToAddMod.h"
|
||||
#include "SRB-ToAddModList.h"
|
||||
#include "DL-UM-RLC.h"
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "PMCH-InfoList-r9.h"
|
||||
#endif
|
||||
|
||||
@@ -53,7 +53,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 DRB_ToAddModList_t * const drb2add_listP,
|
||||
const DRB_ToReleaseList_t * const drb2release_listP
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,const PMCH_InfoList_r9_t * const pmch_InfoList_r9_pP
|
||||
#endif
|
||||
)
|
||||
@@ -69,7 +69,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
|
||||
rlc_union_t *rlc_union_p = NULL;
|
||||
hash_key_t key = HASHTABLE_NOT_A_KEY_VALUE;
|
||||
hashtable_rc_t h_rc;
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
int i, j;
|
||||
MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
|
||||
MBMS_SessionInfo_r9_t *MBMS_SessionInfo_p = NULL;
|
||||
@@ -344,7 +344,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (pmch_InfoList_r9_pP != NULL) {
|
||||
for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) {
|
||||
@@ -487,7 +487,7 @@ rlc_op_status_t rrc_rlc_remove_rlc (
|
||||
hash_key_t key_lcid = HASHTABLE_NOT_A_KEY_VALUE;
|
||||
hashtable_rc_t h_lcid_rc;
|
||||
rlc_union_t *rlc_union_p = NULL;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
rlc_mbms_id_t *mbms_id_p = NULL;
|
||||
#endif
|
||||
#ifdef OAI_EMU
|
||||
@@ -498,7 +498,7 @@ rlc_op_status_t rrc_rlc_remove_rlc (
|
||||
/* for no gcc warnings */
|
||||
(void)lcid;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (MBMS_flagP == TRUE) {
|
||||
if (ctxt_pP->enb_flag) {
|
||||
@@ -592,7 +592,7 @@ rlc_union_t* rrc_rlc_add_rlc (
|
||||
hash_key_t key_lcid = HASHTABLE_NOT_A_KEY_VALUE;
|
||||
hashtable_rc_t h_lcid_rc;
|
||||
rlc_union_t *rlc_union_p = NULL;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
rlc_mbms_id_t *mbms_id_p = NULL;
|
||||
logical_chan_id_t lcid = 0;
|
||||
#endif
|
||||
@@ -608,7 +608,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);
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (MBMS_flagP == TRUE) {
|
||||
if (ctxt_pP->enb_flag) {
|
||||
@@ -650,7 +650,7 @@ rlc_union_t* rrc_rlc_add_rlc (
|
||||
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)) {
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (MBMS_flagP == TRUE) {
|
||||
LOG_I(RLC, PROTOCOL_CTXT_FMT" RLC service id %u session id %u rrc_rlc_add_rlc\n",
|
||||
|
||||
@@ -112,7 +112,7 @@ typedef struct {
|
||||
AdditionalSpectrumEmission_t *additionalSpectrumEmission,
|
||||
struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/// Configure Common PHY parameters from SIB13
|
||||
void (*phy_config_sib13_eNB)(module_id_t Mod_id,int CC_id, int mbsfn_Area_idx,
|
||||
long mbsfn_AreaId_r9);
|
||||
@@ -127,7 +127,7 @@ typedef struct {
|
||||
void (*phy_config_dedicated_eNB)(module_id_t Mod_id,int CC_id,rnti_t rnti,
|
||||
struct PhysicalConfigDedicated *physicalConfigDedicated);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/// Get MCH sdu and corresponding MCS for particular MBSFN subframe
|
||||
MCH_PDU* (*get_mch_sdu)(module_id_t Mod_id, int CC_id, frame_t frameP,sub_frame_t subframe);
|
||||
#endif
|
||||
@@ -154,7 +154,7 @@ typedef struct {
|
||||
/// Send a received DLSCH sdu to MAC
|
||||
void (*ue_send_sdu)(module_id_t Mod_id,uint8_t CC_id,frame_t frameP,sub_frame_t subframe,uint8_t *sdu,uint16_t sdu_len,uint8_t CH_index);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/// Send a received MCH sdu to MAC
|
||||
void (*ue_send_mch_sdu)(module_id_t Mod_id,uint8_t CC_id, frame_t frameP,uint8_t *sdu,uint16_t sdu_len,uint8_t eNB_index,uint8_t sync_area);
|
||||
|
||||
@@ -202,7 +202,7 @@ typedef struct {
|
||||
AdditionalSpectrumEmission_t *additionalSpectrumEmission,
|
||||
struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/// Configure Common PHY parameters from SIB13
|
||||
void (*phy_config_sib13_ue)(uint8_t Mod_id,int CC_id, uint8_t eNB_index,int mbsfn_Area_idx,
|
||||
long mbsfn_AreaId_r9);
|
||||
|
||||
@@ -222,7 +222,7 @@ mac_rrc_data_req(
|
||||
return (Sdu_size);
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if((Srb_id & RAB_OFFSET) == MCCH) {
|
||||
if(eNB_rrc_inst[Mod_idP].carrier[CC_id].MCCH_MESS[mbsfn_sync_area].Active==0) {
|
||||
@@ -281,7 +281,7 @@ mac_rrc_data_req(
|
||||
//return(0);
|
||||
}
|
||||
|
||||
#endif //Rel10
|
||||
#endif //Rel10 || Rel14
|
||||
} else { //This is an UE
|
||||
|
||||
LOG_D(RRC,"[UE %d] Frame %d Filling CCCH SRB_ID %d\n",Mod_idP,frameP,Srb_id);
|
||||
@@ -428,7 +428,7 @@ mac_rrc_data_ind(
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
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",
|
||||
@@ -459,7 +459,7 @@ mac_rrc_data_ind(
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // Rel10
|
||||
#endif // Rel10 || Rel14
|
||||
|
||||
} else { // This is an eNB
|
||||
Srb_info = &eNB_rrc_inst[module_idP].carrier[CC_id].Srb0;
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
#include "RRCConnectionSetup.h"
|
||||
#include "SRB-ToAddModList.h"
|
||||
#include "DRB-ToAddModList.h"
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "MCCH-Message.h"
|
||||
//#define MRB1 1
|
||||
#endif
|
||||
@@ -614,7 +614,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
BCCH_DL_SCH_Message_t *bcch_message,
|
||||
SystemInformationBlockType2_t **sib2,
|
||||
SystemInformationBlockType3_t **sib3
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
SystemInformationBlockType13_r9_t **sib13,
|
||||
uint8_t MBMS_flag
|
||||
@@ -625,7 +625,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
)
|
||||
{
|
||||
struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part;
|
||||
MBSFN_SubframeConfigList_t *MBSFNSubframeConfigList;
|
||||
MBSFN_AreaInfoList_r9_t *MBSFNArea_list;
|
||||
@@ -650,7 +650,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
LOG_I(RRC,"[eNB %d] Configuration SIB2/3, MBMS = %d\n", Mod_id, MBMS_flag);
|
||||
#else
|
||||
LOG_I(RRC,"[eNB %d] Configuration SIB2/3\n", Mod_id);
|
||||
@@ -666,7 +666,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
*sib2 = &sib2_part->choice.sib2;
|
||||
*sib3 = &sib3_part->choice.sib3;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (MBMS_flag > 0) {
|
||||
sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
|
||||
@@ -680,7 +680,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
// sib2
|
||||
|
||||
(*sib2)->ac_BarringInfo = NULL;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#if 0
|
||||
(*sib2)->ssac_BarringForMMTEL_Voice_r9 = NULL;
|
||||
(*sib2)->ssac_BarringForMMTEL_Video_r9 = NULL;
|
||||
@@ -769,7 +769,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
= configuration->pucch_nRB_CQI[CC_id];
|
||||
(*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN
|
||||
= configuration->pucch_nCS_AN[CC_id];
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
(*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN
|
||||
= configuration->pucch_n1_AN[CC_id];
|
||||
#endif
|
||||
@@ -929,7 +929,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
(*sib2)->freqInfo.ul_Bandwidth = NULL;
|
||||
// (*sib2)->mbsfn_SubframeConfigList = NULL;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (MBMS_flag > 0) {
|
||||
LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2\n");
|
||||
@@ -985,7 +985,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
(*sib2)->timeAlignmentTimerCommon=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120;
|
||||
|
||||
/// (*SIB3)
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(*sib3)->ext1 = NULL;
|
||||
#if 0
|
||||
(*sib3)->s_IntraSearch_v920=NULL;
|
||||
@@ -1020,7 +1020,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
|
||||
// SIB13
|
||||
// fill in all elements of SIB13 if present
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (MBMS_flag > 0 ) {
|
||||
// Notification for mcch change
|
||||
@@ -1102,7 +1102,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
sib2_part);
|
||||
ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,
|
||||
sib3_part);
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (MBMS_flag > 0) {
|
||||
ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,sib13_part);
|
||||
@@ -1563,7 +1563,7 @@ do_RRCConnectionSetup(
|
||||
// CQI ReportConfig
|
||||
|
||||
physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic));
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic= CQI_ReportModeAperiodic_rm30;
|
||||
#else
|
||||
*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI
|
||||
@@ -1801,7 +1801,7 @@ do_SecurityModeCommand(
|
||||
SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8;
|
||||
// the two following information could be based on the mod_id
|
||||
dl_dcch_msg.message.choice.c1.choice.securityModeCommand.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm
|
||||
= (e_SecurityAlgorithmConfig__cipheringAlgorithm)cipheringAlgorithm;
|
||||
= (CipheringAlgorithm_r12_t)cipheringAlgorithm;
|
||||
dl_dcch_msg.message.choice.c1.choice.securityModeCommand.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.integrityProtAlgorithm
|
||||
= (e_SecurityAlgorithmConfig__integrityProtAlgorithm)integrityProtAlgorithm;
|
||||
|
||||
@@ -1954,7 +1954,7 @@ do_RRCConnectionReconfiguration(
|
||||
struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList
|
||||
*dedicatedInfoNASList
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, SCellToAddMod_r10_t *SCell_config
|
||||
#endif
|
||||
)
|
||||
@@ -2249,7 +2249,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
|
||||
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
|
||||
LTE_DL_FRAME_PARMS *frame_parms,
|
||||
uint8_t sync_area,
|
||||
@@ -2421,7 +2421,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));
|
||||
|
||||
measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measId=measid;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrpResult=rsrp_s;
|
||||
measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrqResult=rsrq_s;
|
||||
#else
|
||||
|
||||
@@ -93,7 +93,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
BCCH_DL_SCH_Message_t *systemInformation,
|
||||
SystemInformationBlockType2_t **sib2,
|
||||
SystemInformationBlockType3_t **sib3
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
SystemInformationBlockType13_r9_t **sib13,
|
||||
uint8_t MBMS_flag
|
||||
@@ -197,7 +197,7 @@ do_RRCConnectionReconfiguration(
|
||||
RSRP_Range_t *rsrp,
|
||||
C_RNTI_t *cba_rnti,
|
||||
struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList* dedicatedInfoNASList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, SCellToAddMod_r10_t *SCell_config
|
||||
#endif
|
||||
);
|
||||
@@ -238,7 +238,7 @@ uint8_t do_RRCConnectionRelease(uint8_t Mod_id, uint8_t *buffer,int Transaction_
|
||||
* @returns Size of encoded bit stream in bytes
|
||||
*/
|
||||
uint8_t do_MCCHMessage(uint8_t *buffer);
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/***
|
||||
* \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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -61,7 +61,7 @@
|
||||
#include "RRCConnectionReestablishmentRequest.h"
|
||||
#include "BCCH-DL-SCH-Message.h"
|
||||
#include "BCCH-BCH-Message.h"
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "MCCH-Message.h"
|
||||
#include "MBSFNAreaConfiguration-r9.h"
|
||||
#include "SCellToAddMod-r10.h"
|
||||
@@ -71,8 +71,59 @@
|
||||
#include "UE-EUTRA-Capability.h"
|
||||
#include "MeasResults.h"
|
||||
|
||||
/* correct Rel(8|10)/Rel14 differences
|
||||
* the code is in favor of Rel14, those defines do the translation
|
||||
*/
|
||||
#if !defined(Rel14)
|
||||
# define CipheringAlgorithm_r12_t e_SecurityAlgorithmConfig__cipheringAlgorithm
|
||||
# define CipheringAlgorithm_r12_eea0 SecurityAlgorithmConfig__cipheringAlgorithm_eea0
|
||||
# define CipheringAlgorithm_r12_eea1 SecurityAlgorithmConfig__cipheringAlgorithm_eea1
|
||||
# define CipheringAlgorithm_r12_eea2 SecurityAlgorithmConfig__cipheringAlgorithm_eea2
|
||||
# define CipheringAlgorithm_r12_spare1 SecurityAlgorithmConfig__cipheringAlgorithm_spare1
|
||||
# define Alpha_r12_al0 UplinkPowerControlCommon__alpha_al0
|
||||
# define Alpha_r12_al04 UplinkPowerControlCommon__alpha_al04
|
||||
# define Alpha_r12_al05 UplinkPowerControlCommon__alpha_al05
|
||||
# define Alpha_r12_al06 UplinkPowerControlCommon__alpha_al06
|
||||
# define Alpha_r12_al07 UplinkPowerControlCommon__alpha_al07
|
||||
# define Alpha_r12_al08 UplinkPowerControlCommon__alpha_al08
|
||||
# define Alpha_r12_al09 UplinkPowerControlCommon__alpha_al09
|
||||
# define Alpha_r12_al1 UplinkPowerControlCommon__alpha_al1
|
||||
# define PreambleTransMax_n3 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3
|
||||
# define PreambleTransMax_n4 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4
|
||||
# define PreambleTransMax_n5 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5
|
||||
# define PreambleTransMax_n6 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6
|
||||
# define PreambleTransMax_n7 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7
|
||||
# define PreambleTransMax_n8 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8
|
||||
# define PreambleTransMax_n10 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10
|
||||
# define PreambleTransMax_n20 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20
|
||||
# define PreambleTransMax_n50 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50
|
||||
# define PreambleTransMax_n100 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100
|
||||
# define PreambleTransMax_n200 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200
|
||||
# define PeriodicBSR_Timer_r12_sf5 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf5
|
||||
# define PeriodicBSR_Timer_r12_sf10 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf10
|
||||
# define PeriodicBSR_Timer_r12_sf16 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf16
|
||||
# define PeriodicBSR_Timer_r12_sf20 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf20
|
||||
# define PeriodicBSR_Timer_r12_sf32 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf32
|
||||
# define PeriodicBSR_Timer_r12_sf40 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf40
|
||||
# define PeriodicBSR_Timer_r12_sf64 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf64
|
||||
# define PeriodicBSR_Timer_r12_sf80 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf80
|
||||
# define PeriodicBSR_Timer_r12_sf128 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf128
|
||||
# define PeriodicBSR_Timer_r12_sf160 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf160
|
||||
# define PeriodicBSR_Timer_r12_sf320 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf320
|
||||
# define PeriodicBSR_Timer_r12_sf640 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf640
|
||||
# define PeriodicBSR_Timer_r12_sf1280 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf1280
|
||||
# define PeriodicBSR_Timer_r12_sf2560 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf2560
|
||||
# define PeriodicBSR_Timer_r12_infinity MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity
|
||||
# define RetxBSR_Timer_r12_sf320 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf320
|
||||
# define RetxBSR_Timer_r12_sf640 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf640
|
||||
# define RetxBSR_Timer_r12_sf1280 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf1280
|
||||
# define RetxBSR_Timer_r12_sf2560 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560
|
||||
# define RetxBSR_Timer_r12_sf5120 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf5120
|
||||
# define RetxBSR_Timer_r12_sf10240 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf10240
|
||||
#endif
|
||||
|
||||
// This corrects something generated by asn1c which is different between Rel8 and Rel10
|
||||
#ifndef Rel10
|
||||
#if !defined(Rel10) && !defined(Rel14)
|
||||
#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_sib3 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3
|
||||
@@ -86,7 +137,7 @@
|
||||
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib11
|
||||
#endif
|
||||
/*
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#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
|
||||
#endif
|
||||
@@ -194,7 +245,7 @@ typedef struct UE_RRC_INFO_s {
|
||||
uint8_t SIB1systemInfoValueTag;
|
||||
uint32_t SIStatus;
|
||||
uint32_t SIcnt;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
uint8_t MCCHStatus[8]; // MAX_MBSFN_AREA
|
||||
#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
|
||||
@@ -301,7 +352,7 @@ typedef struct HANDOVER_INFO_UE_s {
|
||||
|
||||
typedef struct eNB_RRC_UE_s {
|
||||
uint8_t primaryCC_id;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
SCellToAddMod_r10_t sCell_config[2];
|
||||
#endif
|
||||
SRB_ToAddModList_t* SRB_configList;
|
||||
@@ -329,7 +380,7 @@ typedef struct eNB_RRC_UE_s {
|
||||
uint8_t kenb[32];
|
||||
#endif
|
||||
/* Used integrity/ciphering algorithms */
|
||||
e_SecurityAlgorithmConfig__cipheringAlgorithm ciphering_algorithm;
|
||||
CipheringAlgorithm_r12_t ciphering_algorithm;
|
||||
e_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
|
||||
|
||||
uint8_t Status;
|
||||
@@ -400,7 +451,7 @@ typedef struct {
|
||||
SystemInformationBlockType1_t *sib1;
|
||||
SystemInformationBlockType2_t *sib2;
|
||||
SystemInformationBlockType3_t *sib3;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
SystemInformationBlockType13_r9_t *sib13;
|
||||
uint8_t MBMS_flag;
|
||||
uint8_t num_mbsfn_sync_area;
|
||||
@@ -489,7 +540,7 @@ typedef struct UE_RRC_INST_s {
|
||||
SystemInformationBlockType10_t *sib10[NB_CNX_UE];
|
||||
SystemInformationBlockType11_t *sib11[NB_CNX_UE];
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
uint8_t MBMS_flag;
|
||||
uint8_t *MCCH_MESSAGE[NB_CNX_UE];
|
||||
uint8_t sizeof_MCCH_MESSAGE[NB_CNX_UE];
|
||||
@@ -535,7 +586,7 @@ typedef struct UE_RRC_INST_s {
|
||||
#endif
|
||||
|
||||
/* Used integrity/ciphering algorithms */
|
||||
e_SecurityAlgorithmConfig__cipheringAlgorithm ciphering_algorithm;
|
||||
CipheringAlgorithm_r12_t ciphering_algorithm;
|
||||
e_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
|
||||
} UE_RRC_INST;
|
||||
|
||||
|
||||
+50
-48
@@ -53,7 +53,7 @@
|
||||
#include "DL-DCCH-Message.h"
|
||||
#include "BCCH-DL-SCH-Message.h"
|
||||
#include "PCCH-Message.h"
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
#include "MCCH-Message.h"
|
||||
#endif
|
||||
#include "MeasConfig.h"
|
||||
@@ -145,7 +145,7 @@ static uint8_t check_trigger_meas_event(
|
||||
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);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
static void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_index, frame_t frameP,uint8_t mbsfn_sync_area);
|
||||
#endif
|
||||
|
||||
@@ -256,7 +256,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].sib10[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType10_t) );
|
||||
UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType11_t) );
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
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) );
|
||||
#endif
|
||||
@@ -268,7 +268,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;
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
//-----------------------------------------------------------------------------
|
||||
#if 0
|
||||
static void init_MCCH_UE(module_id_t ue_mod_idP, uint8_t eNB_index)
|
||||
@@ -328,8 +328,8 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
|
||||
UE_rrc_inst[ctxt.module_id].Srb1[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].ciphering_algorithm = SecurityAlgorithmConfig__cipheringAlgorithm_eea0;
|
||||
#ifdef Rel10
|
||||
UE_rrc_inst[ctxt.module_id].ciphering_algorithm = CipheringAlgorithm_r12_eea0;
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920;
|
||||
#else
|
||||
UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_reserved;
|
||||
@@ -821,7 +821,7 @@ rrc_ue_process_measConfig(
|
||||
rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
|
||||
#endif
|
||||
@@ -838,7 +838,7 @@ rrc_ue_process_measConfig(
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
0,
|
||||
(MBSFN_AreaInfoList_r9_t *)NULL,
|
||||
@@ -1270,7 +1270,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
kRRCenc,
|
||||
kRRCint,
|
||||
NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,(PMCH_InfoList_r9_t *)NULL
|
||||
#endif
|
||||
,NULL);
|
||||
@@ -1280,7 +1280,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
radioResourceConfigDedicated->srb_ToAddModList,
|
||||
(DRB_ToAddModList_t*)NULL,
|
||||
(DRB_ToReleaseList_t*)NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,(PMCH_InfoList_r9_t *)NULL
|
||||
#endif
|
||||
);
|
||||
@@ -1319,7 +1319,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
|
||||
#endif
|
||||
@@ -1336,7 +1336,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
0,
|
||||
(MBSFN_AreaInfoList_r9_t *)NULL,
|
||||
@@ -1377,7 +1377,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
|
||||
#endif
|
||||
@@ -1394,7 +1394,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
0,
|
||||
(MBSFN_AreaInfoList_r9_t *)NULL,
|
||||
@@ -1450,7 +1450,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
NULL,
|
||||
NULL,
|
||||
kUPenc
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,(PMCH_InfoList_r9_t *)NULL
|
||||
#endif
|
||||
, UE_rrc_inst[ctxt_pP->module_id].defaultDRB);
|
||||
@@ -1460,7 +1460,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
(SRB_ToAddModList_t*)NULL,
|
||||
radioResourceConfigDedicated->drb_ToAddModList,
|
||||
(DRB_ToReleaseList_t*)NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,(PMCH_InfoList_r9_t *)NULL
|
||||
#endif
|
||||
);
|
||||
@@ -1484,7 +1484,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
|
||||
#endif
|
||||
@@ -1501,7 +1501,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
0,
|
||||
(MBSFN_AreaInfoList_r9_t *)NULL,
|
||||
@@ -1555,26 +1555,26 @@ rrc_ue_process_securityModeCommand(
|
||||
ctxt_pP->module_id,ctxt_pP->frame,eNB_index);
|
||||
|
||||
switch (securityModeCommand->criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm) {
|
||||
case SecurityAlgorithmConfig__cipheringAlgorithm_eea0:
|
||||
case CipheringAlgorithm_r12_eea0:
|
||||
LOG_I(RRC,"[UE %d] Security algorithm is set to eea0\n",
|
||||
ctxt_pP->module_id);
|
||||
securityMode= SecurityAlgorithmConfig__cipheringAlgorithm_eea0;
|
||||
securityMode= CipheringAlgorithm_r12_eea0;
|
||||
break;
|
||||
|
||||
case SecurityAlgorithmConfig__cipheringAlgorithm_eea1:
|
||||
case CipheringAlgorithm_r12_eea1:
|
||||
LOG_I(RRC,"[UE %d] Security algorithm is set to eea1\n",ctxt_pP->module_id);
|
||||
securityMode= SecurityAlgorithmConfig__cipheringAlgorithm_eea1;
|
||||
securityMode= CipheringAlgorithm_r12_eea1;
|
||||
break;
|
||||
|
||||
case SecurityAlgorithmConfig__cipheringAlgorithm_eea2:
|
||||
case CipheringAlgorithm_r12_eea2:
|
||||
LOG_I(RRC,"[UE %d] Security algorithm is set to eea2\n",
|
||||
ctxt_pP->module_id);
|
||||
securityMode = SecurityAlgorithmConfig__cipheringAlgorithm_eea2;
|
||||
securityMode = CipheringAlgorithm_r12_eea2;
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_I(RRC,"[UE %d] Security algorithm is set to none\n",ctxt_pP->module_id);
|
||||
securityMode = SecurityAlgorithmConfig__cipheringAlgorithm_spare1;
|
||||
securityMode = CipheringAlgorithm_r12_spare1;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2000,18 +2000,18 @@ rrc_ue_process_mobilityControlInfo(
|
||||
NULL, // key rrc encryption
|
||||
NULL, // key rrc integrity
|
||||
NULL // key encryption
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,NULL
|
||||
#endif
|
||||
#endif
|
||||
,NULL);
|
||||
|
||||
rrc_rlc_config_asn1_req(NB_eNB_INST+ue_mod_idP, frameP,0,eNB_index,
|
||||
NULL,// SRB_ToAddModList
|
||||
NULL,// DRB_ToAddModList
|
||||
drb2release_list // DRB_ToReleaseList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,NULL
|
||||
#endif
|
||||
#endif
|
||||
,NULL);
|
||||
*/
|
||||
|
||||
@@ -2046,7 +2046,7 @@ rrc_ue_process_mobilityControlInfo(
|
||||
eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -2063,7 +2063,7 @@ rrc_ue_process_mobilityControlInfo(
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,0,
|
||||
(MBSFN_AreaInfoList_r9_t *)NULL,
|
||||
(PMCH_InfoList_r9_t *)NULL
|
||||
@@ -2416,7 +2416,7 @@ rrc_ue_decode_dcch(
|
||||
case DL_DCCH_MessageType__c1_PR_counterCheck:
|
||||
break;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
case DL_DCCH_MessageType__c1_PR_ueInformationRequest_r9:
|
||||
break;
|
||||
@@ -2431,7 +2431,9 @@ rrc_ue_decode_dcch(
|
||||
case DL_DCCH_MessageType__c1_PR_spare1:
|
||||
case DL_DCCH_MessageType__c1_PR_spare2:
|
||||
case DL_DCCH_MessageType__c1_PR_spare3:
|
||||
#if !defined(Rel14)
|
||||
case DL_DCCH_MessageType__c1_PR_spare4:
|
||||
#endif
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -2900,7 +2902,7 @@ static int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
|
||||
rrc_mac_config_req(ctxt_pP->module_id, 0, ENB_FLAG_NO, 0, eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -2917,7 +2919,7 @@ static int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
|
||||
NULL,
|
||||
NULL,
|
||||
(MBSFN_SubframeConfigList_t *)NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,0,
|
||||
(MBSFN_AreaInfoList_r9_t *)NULL,
|
||||
(PMCH_InfoList_r9_t *)NULL
|
||||
@@ -3174,7 +3176,7 @@ static void dump_sib2( SystemInformationBlockType2_t *sib2 )
|
||||
LOG_I( RRC, "radioResourceConfigCommon.ul_CyclicPrefixLength : %ld\n",
|
||||
sib2->radioResourceConfigCommon.ul_CyclicPrefixLength );
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
// UplinkPowerControlCommon_v1020
|
||||
// ...
|
||||
#endif
|
||||
@@ -3206,7 +3208,7 @@ static void dump_sib2( SystemInformationBlockType2_t *sib2 )
|
||||
|
||||
LOG_I( RRC, "timeAlignmentTimerCommon : %ld\n", sib2->timeAlignmentTimerCommon );
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (sib2->lateNonCriticalExtension) {
|
||||
LOG_I( RRC, "lateNonCriticalExtension : %p\n", sib2->lateNonCriticalExtension );
|
||||
@@ -3475,7 +3477,7 @@ static void dump_sib5( SystemInformationBlockType5_t *sib5 )
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
if (ifcfInfo->ext1 && ifcfInfo->ext1->q_QualMin_r9)
|
||||
LOG_I(RRC," Q_QualMin_r9 : %ld\n",*ifcfInfo->ext1->q_QualMin_r9);
|
||||
|
||||
@@ -3488,7 +3490,7 @@ static void dump_sib5( SystemInformationBlockType5_t *sib5 )
|
||||
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
static void dump_sib13( SystemInformationBlockType13_r9_t *sib13 )
|
||||
{
|
||||
LOG_I( RRC, "[UE] Dumping SIB13\n" );
|
||||
@@ -3536,7 +3538,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
|
||||
rrc_mac_config_req(ctxt_pP->module_id, 0, ENB_FLAG_NO, 0, eNB_index,
|
||||
&UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->radioResourceConfigCommon,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
#endif
|
||||
(MeasObjectToAddMod_t **)NULL,
|
||||
@@ -3552,7 +3554,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
|
||||
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]->mbsfn_SubframeConfigList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,0,
|
||||
(MBSFN_AreaInfoList_r9_t *)NULL,
|
||||
(PMCH_InfoList_r9_t *)NULL
|
||||
@@ -3563,7 +3565,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
|
||||
#endif
|
||||
);
|
||||
// After SI is received, prepare RRCConnectionRequest
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (UE_rrc_inst[ctxt_pP->module_id].MBMS_flag < 3) // see -Q option
|
||||
#endif
|
||||
@@ -3694,7 +3696,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
|
||||
}
|
||||
break;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920:
|
||||
if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2048) == 0) {
|
||||
@@ -4103,7 +4105,7 @@ static uint8_t check_trigger_meas_event(
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
//-----------------------------------------------------------------------------
|
||||
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 )
|
||||
{
|
||||
@@ -4177,7 +4179,7 @@ static void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_i
|
||||
rrc_mac_config_req(ue_mod_idP,0,ENB_FLAG_NO,0,eNB_index,
|
||||
(RadioResourceConfigCommonSIB_t *)NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -4194,7 +4196,7 @@ static void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_i
|
||||
NULL,
|
||||
NULL,
|
||||
(MBSFN_SubframeConfigList_t *)NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
0,
|
||||
(MBSFN_AreaInfoList_r9_t *)NULL,
|
||||
@@ -4220,7 +4222,7 @@ static void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_i
|
||||
NULL, // key rrc encryption
|
||||
NULL, // key rrc integrity
|
||||
NULL // key encryption
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,&(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9)
|
||||
#endif
|
||||
,NULL);
|
||||
@@ -4229,7 +4231,7 @@ static void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_i
|
||||
NULL,// SRB_ToAddModList
|
||||
NULL,// DRB_ToAddModList
|
||||
NULL,// DRB_ToReleaseList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
&(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9)
|
||||
#endif
|
||||
);
|
||||
@@ -4336,7 +4338,7 @@ void *rrc_ue_task( void *args_p )
|
||||
RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
|
||||
break;
|
||||
|
||||
# ifdef Rel10
|
||||
# if defined(Rel10) || defined(Rel14)
|
||||
|
||||
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,
|
||||
|
||||
@@ -265,7 +265,7 @@ openair_rrc_top_init(
|
||||
UE_rrc_inst[module_id].UECapability_size = UECap->sdu_size;
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
LOG_I(RRC,"[UE] eMBMS active state is %d \n", eMBMS_active);
|
||||
|
||||
for (module_id=0; module_id<NB_UE_INST; module_id++) {
|
||||
@@ -286,7 +286,7 @@ openair_rrc_top_init(
|
||||
eNB_rrc_inst[module_id].HO_flag = (uint8_t)HO_active;
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
LOG_I(RRC,"[eNB] eMBMS active state is %d \n", eMBMS_active);
|
||||
|
||||
for (module_id=0; module_id<NB_eNB_INST; module_id++) {
|
||||
|
||||
+49
-45
@@ -57,7 +57,7 @@
|
||||
|
||||
#include "T.h"
|
||||
|
||||
//#ifdef Rel10
|
||||
//#if defined(Rel10) || defined(Rel14)
|
||||
#include "MeasResults.h"
|
||||
//#endif
|
||||
|
||||
@@ -125,7 +125,7 @@ init_SI(
|
||||
{
|
||||
uint8_t SIwindowsize = 1;
|
||||
uint16_t SIperiod = 8;
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
int i;
|
||||
#endif
|
||||
/*
|
||||
@@ -223,7 +223,7 @@ init_SI(
|
||||
&eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].systemInformation,
|
||||
&eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2,
|
||||
&eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib3
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, &eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib13,
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].MBMS_flag
|
||||
#endif
|
||||
@@ -281,7 +281,7 @@ init_SI(
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->radioResourceConfigCommon.pusch_ConfigCommon.
|
||||
ul_ReferenceSignalsPUSCH.cyclicShift);
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
if (eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].MBMS_flag > 0) {
|
||||
for (i = 0; i < eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->mbsfn_SubframeConfigList->list.count; i++) {
|
||||
@@ -326,7 +326,7 @@ init_SI(
|
||||
(RadioResourceConfigCommonSIB_t *) &
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->radioResourceConfigCommon,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -341,7 +341,7 @@ init_SI(
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->freqInfo.ul_Bandwidth,
|
||||
&eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->freqInfo.additionalSpectrumEmission,
|
||||
(MBSFN_SubframeConfigList_t*) eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->mbsfn_SubframeConfigList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].MBMS_flag,
|
||||
(MBSFN_AreaInfoList_r9_t*) & eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib13->mbsfn_AreaInfoList_r9,
|
||||
@@ -359,7 +359,7 @@ init_SI(
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
/*------------------------------------------------------------------------------*/
|
||||
static void
|
||||
init_MCCH(
|
||||
@@ -422,7 +422,7 @@ init_MCCH(
|
||||
rrc_mac_config_req(enb_mod_idP, CC_id, ENB_FLAG_YES, 0, 0,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -433,7 +433,7 @@ init_MCCH(
|
||||
(MeasGapConfig_t *) NULL,
|
||||
(TDD_Config_t *) NULL,
|
||||
NULL, (uint8_t *) NULL, (uint16_t *) NULL, NULL, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
|
||||
# ifdef Rel10
|
||||
# if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
0,
|
||||
(MBSFN_AreaInfoList_r9_t *) NULL,
|
||||
@@ -473,7 +473,7 @@ static void init_MBMS(
|
||||
NULL, // key rrc encryption
|
||||
NULL, // key rrc integrity
|
||||
NULL // key encryption
|
||||
# ifdef Rel10
|
||||
# if defined(Rel10) || defined(Rel14)
|
||||
, &(eNB_rrc_inst[enb_mod_idP].carrier[CC_id].mcch_message->pmch_InfoList_r9)
|
||||
# endif
|
||||
,NULL);
|
||||
@@ -693,7 +693,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_ARGS(ctxt_pP),
|
||||
ue_context_pP);
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
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]);
|
||||
#endif
|
||||
@@ -1369,7 +1369,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
|
||||
NULL, NULL, NULL, NULL,NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, (SCellToAddMod_r10_t*)NULL
|
||||
#endif
|
||||
);
|
||||
@@ -1469,7 +1469,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
|
||||
*ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5;
|
||||
MeasIdToAddModList_t *MeasId_list = NULL;
|
||||
MeasIdToAddMod_t *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
|
||||
#if Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
long *sr_ProhibitTimer_r9 = NULL;
|
||||
// uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
|
||||
//uint8_t sCellIndexToAdd = 0;
|
||||
@@ -1671,9 +1671,9 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
|
||||
*maxHARQ_Tx = MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
|
||||
mac_MainConfig->ul_SCH_Config->maxHARQ_Tx = maxHARQ_Tx;
|
||||
periodicBSR_Timer = CALLOC(1, sizeof(long));
|
||||
*periodicBSR_Timer = MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf64;
|
||||
*periodicBSR_Timer = PeriodicBSR_Timer_r12_sf64;
|
||||
mac_MainConfig->ul_SCH_Config->periodicBSR_Timer = periodicBSR_Timer;
|
||||
mac_MainConfig->ul_SCH_Config->retxBSR_Timer = MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf320;
|
||||
mac_MainConfig->ul_SCH_Config->retxBSR_Timer = RetxBSR_Timer_r12_sf320;
|
||||
mac_MainConfig->ul_SCH_Config->ttiBundling = 0; // FALSE
|
||||
|
||||
mac_MainConfig->timeAlignmentTimerDedicated = TimeAlignmentTimer_infinity;
|
||||
@@ -1689,7 +1689,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
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
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
|
||||
mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
|
||||
@@ -1756,7 +1756,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
|
||||
//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
|
||||
printf("setting cqi reporting mode to rm31\n");
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportModeAperiodic_rm31;
|
||||
#else
|
||||
*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI
|
||||
@@ -2102,7 +2102,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
|
||||
(RSRP_Range_t*)rsrp,
|
||||
(C_RNTI_t*)cba_RNTI,
|
||||
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, (SCellToAddMod_r10_t*)NULL
|
||||
#endif
|
||||
);
|
||||
@@ -2173,7 +2173,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
|
||||
uint8_t size;
|
||||
uint8_t buffer[100];
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
uint8_t sCellIndexToAdd = 0; //one SCell so far
|
||||
|
||||
// uint8_t sCellIndexToAdd;
|
||||
@@ -2207,7 +2207,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
|
||||
(C_RNTI_t*)NULL,
|
||||
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, ue_context_pP->ue_context.sCell_config
|
||||
#endif
|
||||
);
|
||||
@@ -2264,7 +2264,7 @@ rrc_eNB_process_MeasurementReport(
|
||||
measResult.rsrqResult));
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
LOG_I(RRC, "RSRP of Source %ld\n", measResults2->measResultPCell.rsrpResult);
|
||||
LOG_I(RRC, "RSRQ of Source %ld\n", measResults2->measResultPCell.rsrqResult);
|
||||
#else
|
||||
@@ -2531,7 +2531,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
// HandoverCommand_t handoverCommand;
|
||||
//uint8_t sourceModId =
|
||||
// get_adjacent_cell_mod_id(ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo->sourcePhysCellId);
|
||||
#if Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
long *sr_ProhibitTimer_r9;
|
||||
#endif
|
||||
|
||||
@@ -2779,7 +2779,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
0,
|
||||
(RadioResourceConfigCommonSIB_t*) NULL,
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -2796,7 +2796,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
NULL,
|
||||
NULL,
|
||||
(MBSFN_SubframeConfigList_t *) NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
|
||||
#endif
|
||||
#ifdef CBA
|
||||
@@ -2899,10 +2899,10 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
mac_MainConfig->ul_SCH_Config->maxHARQ_Tx = maxHARQ_Tx;
|
||||
|
||||
periodicBSR_Timer = CALLOC(1, sizeof(long));
|
||||
*periodicBSR_Timer = MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf64;
|
||||
*periodicBSR_Timer = PeriodicBSR_Timer_r12_sf64;
|
||||
mac_MainConfig->ul_SCH_Config->periodicBSR_Timer = periodicBSR_Timer;
|
||||
|
||||
mac_MainConfig->ul_SCH_Config->retxBSR_Timer = MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf320;
|
||||
mac_MainConfig->ul_SCH_Config->retxBSR_Timer = RetxBSR_Timer_r12_sf320;
|
||||
|
||||
mac_MainConfig->ul_SCH_Config->ttiBundling = 0; // FALSE
|
||||
|
||||
@@ -2917,7 +2917,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
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
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
|
||||
mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
|
||||
@@ -3279,7 +3279,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
rrc_pdcp_config_asn1_req(&ctxt,
|
||||
ue_context_pP->ue_context.SRB_configList,
|
||||
(DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL, 0xff, NULL, NULL, NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, (PMCH_InfoList_r9_t *) NULL
|
||||
#endif
|
||||
,NULL);
|
||||
@@ -3287,7 +3287,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
rrc_rlc_config_asn1_req(&ctxt,
|
||||
ue_context_pP->ue_context.SRB_configList,
|
||||
(DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, (PMCH_InfoList_r9_t *) NULL
|
||||
#endif
|
||||
);
|
||||
@@ -3318,7 +3318,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
NULL,
|
||||
NULL,
|
||||
dedicatedInfoNASList
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, NULL // SCellToAddMod_r10_t
|
||||
#endif
|
||||
);
|
||||
@@ -3353,7 +3353,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
0,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -3365,7 +3365,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
(TDD_Config_t *) NULL,
|
||||
(MobilityControlInfo_t *) mobilityInfo,
|
||||
(uint8_t *) NULL, (uint16_t *) NULL, NULL, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
|
||||
#endif
|
||||
#ifdef CBA
|
||||
@@ -3521,7 +3521,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
kRRCenc,
|
||||
kRRCint,
|
||||
kUPenc
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, (PMCH_InfoList_r9_t *) NULL
|
||||
#endif
|
||||
,NULL);
|
||||
@@ -3531,7 +3531,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
SRB_configList, // NULL, //LG-RK 14/05/2014 SRB_configList,
|
||||
DRB_configList,
|
||||
(DRB_ToReleaseList_t *) NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, (PMCH_InfoList_r9_t *) NULL
|
||||
#endif
|
||||
);
|
||||
@@ -3651,7 +3651,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
0,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -3664,7 +3664,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
NULL,
|
||||
(uint8_t *) NULL,
|
||||
(uint16_t *) NULL, NULL, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
|
||||
#endif
|
||||
#ifdef CBA
|
||||
@@ -3699,7 +3699,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
0,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -3710,7 +3710,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
(MeasGapConfig_t *) NULL,
|
||||
(TDD_Config_t *) NULL,
|
||||
NULL, (uint8_t *) NULL, (uint16_t *) NULL, NULL, NULL, NULL, NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
|
||||
#endif
|
||||
#ifdef CBA
|
||||
@@ -3794,7 +3794,7 @@ rrc_eNB_generate_RRCConnectionSetup(
|
||||
0,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
|
||||
#endif
|
||||
@@ -3807,7 +3807,7 @@ rrc_eNB_generate_RRCConnectionSetup(
|
||||
NULL,
|
||||
(uint8_t *) NULL,
|
||||
(uint16_t *) NULL, NULL, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
, 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
|
||||
#endif
|
||||
#ifdef CBA
|
||||
@@ -3923,11 +3923,15 @@ while ( eNB_rrc_inst == NULL ) {
|
||||
|
||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Checking release \n",
|
||||
PROTOCOL_RRC_CTXT_ARGS(&ctxt));
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
// This has to come from some top-level configuration
|
||||
// only CC_id 0 is logged
|
||||
#if defined(Rel10)
|
||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel10 RRC detected, MBMS flag %d\n",
|
||||
#else
|
||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel14 RRC detected, MBMS flag %d\n",
|
||||
#endif
|
||||
PROTOCOL_RRC_CTXT_ARGS(&ctxt),
|
||||
eNB_rrc_inst[ctxt.module_id].carrier[0].MBMS_flag);
|
||||
|
||||
@@ -3966,7 +3970,7 @@ while ( eNB_rrc_inst == NULL ) {
|
||||
);
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
|
||||
switch (eNB_rrc_inst[ctxt.module_id].carrier[CC_id].MBMS_flag) {
|
||||
@@ -4349,7 +4353,7 @@ rrc_eNB_decode_ccch(
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
# ifdef Rel10
|
||||
# if defined(Rel10) || defined(Rel14)
|
||||
, (PMCH_InfoList_r9_t *) NULL
|
||||
# endif
|
||||
,NULL);
|
||||
@@ -4358,7 +4362,7 @@ rrc_eNB_decode_ccch(
|
||||
ue_context_p->ue_context.SRB_configList,
|
||||
(DRB_ToAddModList_t*) NULL,
|
||||
(DRB_ToReleaseList_t*) NULL
|
||||
# ifdef Rel10
|
||||
# if defined(Rel10) || defined(Rel14)
|
||||
, (PMCH_InfoList_r9_t *) NULL
|
||||
# endif
|
||||
);
|
||||
@@ -4871,7 +4875,7 @@ rrc_eNB_decode_dcch(
|
||||
|
||||
break;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
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),
|
||||
|
||||
@@ -69,7 +69,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_EIA2_MASK = 0x4000;
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
# define INTEGRITY_ALGORITHM_NONE SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920
|
||||
#else
|
||||
#ifdef EXMIMO_IOT
|
||||
@@ -228,21 +228,21 @@ rrc_eNB_get_ue_context_from_s1ap_ids(
|
||||
*\param algorithms The bit mask of available algorithms received from S1AP.
|
||||
*\return the selected algorithm.
|
||||
*/
|
||||
static e_SecurityAlgorithmConfig__cipheringAlgorithm rrc_eNB_select_ciphering(uint16_t algorithms)
|
||||
static CipheringAlgorithm_r12_t rrc_eNB_select_ciphering(uint16_t algorithms)
|
||||
{
|
||||
|
||||
//#warning "Forced return SecurityAlgorithmConfig__cipheringAlgorithm_eea0, to be deleted in future"
|
||||
return SecurityAlgorithmConfig__cipheringAlgorithm_eea0;
|
||||
return CipheringAlgorithm_r12_eea0;
|
||||
|
||||
if (algorithms & S1AP_ENCRYPTION_EEA2_MASK) {
|
||||
return SecurityAlgorithmConfig__cipheringAlgorithm_eea2;
|
||||
return CipheringAlgorithm_r12_eea2;
|
||||
}
|
||||
|
||||
if (algorithms & S1AP_ENCRYPTION_EEA1_MASK) {
|
||||
return SecurityAlgorithmConfig__cipheringAlgorithm_eea1;
|
||||
return CipheringAlgorithm_r12_eea1;
|
||||
}
|
||||
|
||||
return SecurityAlgorithmConfig__cipheringAlgorithm_eea0;
|
||||
return CipheringAlgorithm_r12_eea0;
|
||||
}
|
||||
|
||||
/*! \fn e_SecurityAlgorithmConfig__integrityProtAlgorithm rrc_eNB_select_integrity(uint16_t algorithms)
|
||||
@@ -279,7 +279,7 @@ rrc_eNB_process_security(
|
||||
)
|
||||
{
|
||||
boolean_t changed = FALSE;
|
||||
e_SecurityAlgorithmConfig__cipheringAlgorithm cipheringAlgorithm;
|
||||
CipheringAlgorithm_r12_t cipheringAlgorithm;
|
||||
e_SecurityAlgorithmConfig__integrityProtAlgorithm integrityProtAlgorithm;
|
||||
|
||||
/* Save security parameters */
|
||||
|
||||
@@ -80,7 +80,7 @@ struct LogicalChannelConfig__ul_SpecificParameters LCSRB2 = {3,
|
||||
};
|
||||
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
struct LogicalChannelConfig__ext1 logicalChannelSR_Mask_r9_ext1 = {
|
||||
logicalChannelSR_Mask_r9: &logicalChannelSR_Mask_r9
|
||||
};
|
||||
@@ -88,14 +88,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)
|
||||
LogicalChannelConfig_t SRB1_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB1
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
ext1: &logicalChannelSR_Mask_r9_ext1
|
||||
#endif
|
||||
};
|
||||
|
||||
LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB2
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
,
|
||||
ext1: &logicalChannelSR_Mask_r9_ext1
|
||||
#endif
|
||||
|
||||
@@ -930,7 +930,7 @@ l2l1_task (void *args_p)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
|
||||
for (RN_id=oai_emulation.info.first_rn_local;
|
||||
RN_id<oai_emulation.info.first_rn_local+oai_emulation.info.nb_rn_local;
|
||||
|
||||
@@ -163,7 +163,7 @@ extern channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX][MAX_NUM_CCs];
|
||||
extern channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX][MAX_NUM_CCs];
|
||||
|
||||
extern mapping small_scale_names[];
|
||||
#if defined(Rel10)
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
extern pdcp_mbms_t pdcp_mbms_array_ue[NUMBER_OF_UE_MAX][maxServiceCount][maxSessionPerPMCH];
|
||||
extern pdcp_mbms_t pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH];
|
||||
#endif
|
||||
@@ -1741,7 +1741,7 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
mbms_service_id_t service_id;
|
||||
mbms_session_id_t session_id;
|
||||
rb_id_t rb_id;
|
||||
@@ -1776,7 +1776,7 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime)
|
||||
|
||||
// old version
|
||||
/* // MBSM multicast traffic
|
||||
#ifdef Rel10
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
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 (session_id = 0; session_id < 2; session_id++) { // maxSessionPerPMCH
|
||||
|
||||
Reference in New Issue
Block a user